Friday, May 29, 2015

Work Flow - workflow debugging

SWELS

SWUE - create event
SWUS - start workflow
SWI1 - display WF task

SWU3 - check WF engine
SWUB

SM58 - tRFCs
SM21 - system log for WF sepecifi errors
ST22

SAPLSWUS

ZCL_V_IC_LEO_TRIG_NA_WORKFLOW

CALL SWE_EVENT_CREATE  <--- ito yung nagcrecreate ng Worflow

also BP on COMMIT WORK

Get object type to be created.

Thursday, May 28, 2015

Debugging Idoc creation, Idoc status


1. RSM13000 -VB_CALL_FUNC -
PERFORM (VBFUNC) IN PROGRAM (TFDIR-PNAME) USING VBID.
VBFUNC

2. Function - RV_MESSAGE_UPDATE
RSNAST00 - PROGRAMM_AUFRUFEN
TNAPR-RONAM - 'EDI_PROCESSING'

1. RSM13000 -VB_CALL_FUNC -
PERFORM (VBFUNC) IN PROGRAM (TFDIR-PNAME) USING VBID.
VBFUNC

2. Function - RV_MESSAGE_UPDATE
RSNAST00 - PROGRAMM_AUFRUFEN
916 perform (tnapr-ronam) in program (tnapr-pgnam) using returncode
                                                         us_screen
                                                         if found.
TNAPR-RONAM - 'EDI_PROCESSING'

List of IDOC status

0-49 indicates an Outbound idoc and 50-75 as Inbound one.

The Outbound status as follows:

00     Not used, only R/2
01     IDoc generated
02     Error passing data to port
03     Data passed to port OK
04     Error within control information of EDI subsystem
05     Error during translation
06     Translation OK
07     Error during syntax check
08     Syntax check OK
09     Error during interchange handling
10     Interchange handling OK
11     Error during dispatch
12     Dispatch OK
13     Retransmission OK
14     Interchange Acknowledgement positive
15     Interchange Acknowledgement negative
16     Functional Acknowledgement positive
17     Functional Acknowledgement negative
18     Triggering EDI subsystem OK
19     Data transfer for test OK
20     Error triggering EDI subsystem
21     Error passing data for test
22     Dispatch OK, acknowledgement still due
23     Error during retransmission
24     Control information of EDI subsystem OK
25     Processing despite syntax error (outbound)
26     Error during syntax check of IDoc (outbound)
27     Error in dispatch level (ALE service)
28     Not used
29     Error in ALE service
30     IDoc ready for dispatch (ALE service)
31     Error - no further processing
32     IDoc was edited
33     Original of an IDoc which was edited
34     Error in control record of IDoc
35     IDoc reloaded from archive
36     Electronic signature not performed (timeout)
37     IDoc added incorrectly
38     IDoc archived
39     IDoc is in the target system (ALE service)
40     Application document not created in target system
41     Application document created in target system
42     IDoc was created by test transaction

Inbound status of an Idoc

50     IDoc added
51     Application document not posted
52     Application document not fully posted
53     Application document posted
54     Error during formal application check
55     Formal application check OK
56     IDoc with errors added
57     Test IDoc: Error during application check
58     IDoc copy from R/2 connection
59     Not used
60     Error during syntax check of IDoc (inbound)
61     Processing despite syntax error (inbound)
62     IDoc passed to application
63     Error passing IDoc to application
64     IDoc ready to be transferred to application
65     Error in ALE service
66     IDoc is waiting for predecessor IDoc (serialization)
67     Not used
68     Error - no further processing
69     IDoc was edited
70     Original of an IDoc which was edited
71     IDoc reloaded from archive
72     Not used, only R/2
73     IDoc archived
74     IDoc was created by test transaction
75     IDoc is in inbound queue.

Wednesday, May 20, 2015

ABAP system fields

ABAP system fields

System fields for SCREENS.

System fields are set at the PAI (Process After Input) event for every screen.
These can be also used for interactive list processing, except for SY-DATAR, SY-LOOPC, and SY-STEPL.
SY-CUCOL
Horizontal cursor position Counting starts at column 2
SY-CUROW
Vertical cursor position Counting starts at row 1
SY-DATAR
Set to X at time of PAI if at least one screen input field was changed by the user or other data transfer, otherwise empty.
SY-LOOPC
Number of rows currently displayed in a screen table (table control).
SY-SCOLS
Number of columns in current screen.
SY-SROWS
Number of rows in current screen.
SY-STEPL
Index of current row in a screen table (table control). Is set at every loop pass. Outside a loop, for example during the POV(Process On Value Request) event for a table row, SY-STEPL is not set appropriately.
SY-TITLE
Text that appears in the title bar of the screen. For selection screens and lists this is the program name, otherwise SAP R/3. Can be set during PBO (Process Before Output) using SET TITLEBAR.
SY-UCOMM
Function code that triggered the event PAI. Every user action that triggers PAI is assigned a unique function code, with one exception: Choosing Enter triggers PAI and different function codes can be transferred to SY-UCOMM:
• If there is an entry in the command field of the standard toolbar, this is transferred to SY-UCOMM as the function code.
• If there is no entry in the command field and a function code is assigned to the ENTER key, this function code is transferred to SY-UCOMM.
• If the command field does not contain an entry and no function code is assigned to the ENTER key, it is empty and the content of SY-UCOMM is not affected.
Selection Screens
SY-SLSET
Variant used to fill the selection screen.

System Fields.

SY-SUBRC       : RETURN VALUE AFTER ABAP STATEMENTS
SY-INDEX        : LOOPS,CURRENT LOOP PASS
SY-TABIX        : INTERNAL TABLE,CURRENT LINE INDEX
SY-TFILL         : INTERNAL TABLE,CURRENT NO. OF LINES
SY-LILLI          : LIST PROCESSING,CURRENT LIST LINE
SY-LSIND        : LIST PROCESSING , DETAILS LIST INDEX
SY-DBCNT       : DB OPERATIONS,NO. OF TABLE LINES PROCESSED
SY-CPROG      : ABAP PROGRAM,CALLER IN EXTERNAL PROCEDURES
SY-DATUM     : DISPLAYS CURRENT DATE
SY-DYNNR      : ABAP PROGRAM,NO. OF CURRENT SCREEN
SY-TLENG       : LINE LENGTH
SY-STEPL       : LOOP INFORMATION IN TABLE CONTROL
SY-LOOPC      : LOOP INFORMATION IN TABLE CONTROL
SY-FDPOS      : CONTAINS OFF SETS FOR THE FOUND STRING
SY-DBSYS      : Database system
SY-DYNGR : Screen group of current screen
SY-DYNNR :  Number of current screen
SY-MSGID : Message ID
SY-MSGNO : Message number
SY-MSGTY : Message type (E,I.W,...)
SY-MSGV1 : Message variable
SY-MSGV2 : Message variable
SY-MSGV3 : Message variable
SY-MSGV4 : Message variable
SY-PAGNO : Runtime: Current page in list
SY-PFKEY :  Current GUI Status
SY-COLNO :  Current List Column
SY-LINCT :  Page Length of List
SY-LINNO :  Current Line in List
SY-LINSZ :  Line width of list
SY-MACOL :  Number of Columns on Left Margin of Print List
SY-BINPT :  Program Running Under Batch Input
SY-MODNO :  Index of External Session

System Fields for Date and Time.

The following system fields are always set automatically. If necessary, the GET TIME statement synchronizes the application server time with that of the database server and writes it to the system field SY-UZEIT. SY-DATUM and the system fields for the local time zone, that is SY-TIMLO, SY-DATLO, and SY-ZONLO are also reset.
SY-DATLO
Local date of user, for example 19981129, 19990628.
SY-DATUM
Current (application server) date, for example 19981130, 19990627.
SY-DAYST
During daylight saving time X, otherwise empty.
SY-FDAYW
Factory calendar weekday, Sunday 0 ... Saturday 6.
SY-TIMLO
Local time of user, for example 154353, 225312.
SY-TZONE
Time difference to Greenwich Mean Time (UTC) in seconds, for example 3600, 10800.
SY-UZEIT
Current (application server) time, for example 164353, 215312.
SY-ZONLO
Time zone of user, for example CET, UTC.

System Fields in Lists

SY-LSIND     :Index of the list for current event for basic list = 0.
SY-LISTI      :Index of the list level from which the event was triggered
SY-LILLI       :Absolute number of the line from which the event was triggered
SY-LISEL      :Contents of the line from which the event was triggered
SY-CUROW  :Position of the line in the window from which the event was triggered (counting starts with 1)
SY-CUCOL    :Position of the column in the window from which the event was triggered (counting starts with 2)
SY-CPAGE    :Page number of the first displayed page of the list from which the event was triggered
SY-STARO   :Number of the first line of the first page displayed of the list from which the event was triggered (counting starts with 1). This line may contain the page header.
SY-STACO   :Number of the first column displayed in the list from which the event was triggered (counting starts with 1)
SY-UCOMM :Function code that triggered the event
SY-PFKEY    :Status of the list currently being displayed.


Sunday, May 17, 2015

AL11, SE91, SE93

SE91 - message
SE93 - transaction code

AL11 - sap directory

New abap debugger

The header and reference of the internal table ITAB, for example,
can be accessed in the debugger by the symbols *ITAB and &ITAB, respectively. The header contains,
among other things, information about the number of lines internal table ITAB is filled with. So setting a
watchpoint at *ITAB will stop the execution of the program whenever a line is inserted or deleted.


So put as watchpoint:

*ITAB  - header
&ITAB - reference

L_TIME and the watchpoint is “hit” during program execution because L_TIME changes from
11:15:00 to 11:30:00, enabling you to access the old value of 11:15:00 via the symbol
{A:7*\KERNEL_WATCHPOINT_CLONE}

You can use two built-in functions as operands in the watchpoint condition: lines( itab ) and "strlen( str )" (the number of lines of the internal table itab and the length of the string str, respectively).

field symbol <l_wa>-price is used as a
temporary field to keep the value from the calculation
of the “gross price minus VAT,” which will be used
later in the IF statement. But this field symbol points
directly into the internal table flights, as indicated in
the loop ... assigning statement shown in line 97 in
Figure 25. As a consequence, the original value of
price inside the flights table is changed implicitly
by moving a new value to <l_wa>-price.