***************************************************************
* *
* Sample program for asynchronous communication *
* with user-defined transfer data *
* (transfer format CPIC) *
* *
***************************************************************
PARAMETERS:
QDEST(8) TYPE C DEFAULT 'K43 ',
QAPPL(8) TYPE C DEFAULT 'X1SA ',
QUSER(12) TYPE C DEFAULT 'RODC-TEST ',
QPASS(8) TYPE C DEFAULT 'TEST ',
QSTDA TYPE D DEFAULT SY-DATUM,
QSTTI TYPE T DEFAULT SY-UZEIT,
QSTART(1) TYPE C DEFAULT 'A'.
***************************************************************
* QDEST : Connection name of target system *
* QAPPL : Transaction program name in target system *
* (X1SA=SAP-System) *
* QUSER : Valid user account in target system *
* (QAPPL=X1SA) *
* QPASS : User password in target system *
* QSTDA : Driver start date *
* QSTTI : Driver start time *
* QSTART : A=Automatic, *
* M=Manual start of driver program *
***************************************************************
*
TABLES :
QPARM.
*
***************************************************************
*
*.............Set queue name..........................................*
QPARM-QDEST = QDEST.
QPARM-QAPPL = QAPPL.
QPARM-QDTYP = 'CPIC'.
QPARM-QMAND = '000'.
QPARM-QABAP = 'RSAPPQ40'.
QPARM-QMODU = 'RECEIVE'.
*
*.............Set driver specific parameters..........................*
QPARM-QSTDA = QSTDA.
QPARM-QSTTI = QSTTI.
QPARM-QSTRT = QSTART.
QPARM-QCORR = 'R'.
*
*.............Set SAP specific data...................................*
QPARM-QDUSR = QUSER.
QPARM-QDPAS = QPASS.
*
*.............Open the queue..........................................*
OPEN QUEUE QPARM.
*
*.............Write records in the queue..............................*
PERFORM WRITE-QUEUE.
*
*.............Close the queue.........................................*
CLOSE QUEUE QPARM.
*
*
*-------------------------------------------------------------*
* FORM WRITE-QUEUE. *
*-------------------------------------------------------------*
* Insert records in the queue. *
* Sample : Insert three records of type char. *
*-------------------------------------------------------------*
FORM WRITE-QUEUE.
*
DATA :
AREA(17) TYPE C.
*
FIELD-SYMBOLS: <F>.
*
* Insert first record
*
QPARM-QFIRS = 'Y'.
QPARM-QLAST = 'N'.
CLEAR AREA.
MOVE 'first record' TO AREA.
ASSIGN AREA(12) TO <F>.
TRANSFER <F> TO QUEUE QPARM.
*
* Insert second record
*
QPARM-QFIRS = 'N'.
QPARM-QLAST = 'N'.
CLEAR AREA.
MOVE 'second record' TO AREA.
ASSIGN AREA(13) TO <F>.
TRANSFER <F> TO QUEUE QPARM.
*
* Insert third record
*
QPARM-QFIRS = 'N'.
QPARM-QLAST = 'Y'.
CLEAR AREA.
MOVE 'third record' TO AREA.
ASSIGN AREA(12) TO <F>.
TRANSFER <F> TO QUEUE QPARM.
*
ENDFORM.