Skip to main content

Het gebruik van standaards

Vorige week was ik een dagje geld verdienen bij een klant. Even een stukje extra functionaliteit bijbouwen op een eerder ontwikkeld stuk maatwerk. Dat was niet zomaar een stuk maatwerk, maar een bijzonder stuk. Bijzonder omdat er op zijn minst al 4 ontwikkelaars mij voor waren gegaan, maar ook omdat de functionaliteit (het zoeken naar het juiste delivery item) erg complex in elkaar zit.
Op momenten zoals toen realiseer ik me weer dat het hanteren van de development standards zeer belangrijk is. Want als elke developer zijn eigen standaards toepast, wordt het programma erg onleesbaar. Klein voorbeeld:

DATA:
lt_xvbplp TYPE ts_xvbplp OCCURS 0 WITH HEADER LINE,
lt_vbplp TYPE vbplp OCCURS 0 WITH HEADER LINE.

LOOP AT xvbplp.
MOVE-CORRESPONDING xvbplp TO lt_xvbplp.
APPEND lt_xvbplp.
ENDLOOP.


Laten we afspreken dat we de OCCURS niet meer gebruiken. In plaats daarvan naast de tabel definitie direct de definitie van een structuur die als work-area dient. Dan krijg je het volgende:

TYPES:
ts_xvbplp TYPE xvbplp,
tt_vbplp TYPE TABLE OF ts_xvbplp.

DATA:
ls_xvbplp TYPE ts_xvbplp,
lt_xvbplp TYPE tt_vbplp.

LOOP AT xvbplp INTO ls_xvbplp.
... "Doe iets met ls_xvbplp
APPEND ls_xvbplp TO lt_xvbplp.
ENDLOOP. "xvbplp


Laten we ook meteen afspreken dat spaghetti constructies als onderstaande niet gebruikt worden, deze zijn zeeeer ondoorzichtig en eigenlijk alleen te begrijpen door de ontwikkelaar die het gemaakt heeft. In het voorbeeld wordt binnen een routine (find_delpos) diezelfde routine weer aangeroepen wanneer er nog niets gevonden is.

*&---------------------------------------------------------------------*
*& Form find_delpos
*&---------------------------------------------------------------------*
FORM find_delpos USING uv_venum TYPE venum
uv_matnr TYPE matnr
ut_xvbplp TYPE tt_vbplp
CHANGING cs_vbplp TYPE vbplp.

LOOP AT lt_xvbplp
INTO ls_xvbplp
WHERE venum = uv_venum.

* search until delivery item is found
IF NOT ls_xvbplp-vbeln IS INITIAL AND
ls_xvbplp-matnr = uv_matnr.
* delivery item found !
cs_vbplp = ls_xvbplp.
EXIT.
ENDIF.

* search with higher level
IF ls_xvbplp-posnr IS INITIAL.
lv_venum = ls_xvbplp-unvel.
PERFORM find_delpos USING lv_venum
uv_matnr
lt_xvbplp[]
CHANGING cs_vbplp.


Het document Capgemini standards SAP Development is recent nog door Evert-Jan aangepast. Gebruik het alsjeblieft bij je werkzaamheden!

Comments

Popular posts from this blog

SAP TechEd Top 10 (2010)

Here we go, Top 10 SAP TechEd topics 2010. Just like in 2009 and in 2008 . Based on the 417 sessions published on the site I counted the hit ratio on the below listed topics. Not to be taken too seriously, just for fun ;-) (1, 1) SAP NetWeaver (93 sessions) (2, 10) Business Objects (45) (3, 6) ABAP (32) (5, 4) BPM (22) (4, 5) BI (18) (-, -) Sybase (17) (-, -) Mobile (15) (-, -) PI (13) (7, 9) Web Dynpro (12) (7, 10) Enterprise services (8) (-,-) Microsoft (8) Runners up : Sybase and mobile applications. Looking forward to play around with that next week. And as predicted : Microsoft. Droppers , not in the Top 10 anymore: Composition Environment (4 sessions, #8 in 2008, #9 in 2009), Java (4 sessions, #3 in 2008, #8 in 2009) and SOA (4 sessions, #2 in 2008, #6 in 2009). Sybase is no surprise. Just as Business Objects wasn't last year. Java dropped out of the Top 10. Looking back at SAP TechEd 2009 you could predict that to happen. Last year all Java sessions were hidden somewher

Hiking the Grossvenediger with The Next View

In 2014 The Next View celebrates its 5th anniversary. And we did that in style. We all took off to Austria and hiked the Grossvenediger, top 4 of highest mountains in Austria. Hiking route The first day we hiked in pretty good weather conditions to Defreggerhaus. The second day, the hike to the actual summit (The Next Summit ;-) we woke up early and found out that snow covered our route. But that didn't undermine our spirit. We took off and had a great hike. We almost made it to the top, but unfortunately weather conditions (snow and wind) worsened and with the sign in sight we had to return. Look very close, you can see a grey cross somewhere in the top left corner ;-) Back to a safer spot to take our group picture. With Schnapps of course ;-) What an amazing experience. Hiking a 3666 meter high mountain was something completely new for me. Doing that with colleagues was really awesome! More pictures in my Grossvenediger album .

SAP Fiori and SAP Screen Personas finally free for SAP customers

This week the SAPPHIRENOW event takes place in Orlando, a yearly event where SAP announces its strategy and new products. On Tuesday Bill McDermott, the CEO from SAP, did some major announcements . All with regard to making SAP simpler. In this blog I will describe the license changes for SAP Fiori and SAP Screen Personas. These new UI innovations are now part of SAP’s maintenance fee. SAPPHIRENOW keynote