2007 Sep 19 7:19 AM
i call the following code and i take always the same DOCNR in my itab.The number is the first result that FM give to me .At the next lines i take the same result ....
DATA : BEGIN OF ITAB OCCURS 0,
BUKRS LIKE ANEK-BUKRS,
ANLN1 LIKE ANEK-ANLN1,
ANLN2 LIKE ANEK-ANLN2,
BELNR LIKE ANEK-BELNR,
GJAHR LIKE ANEK-GJAHR,
AWTYP LIKE ANEK-AWTYP,
AWORG LIKE ANEK-AWORG,
AWSYS LIKE ANEK-AWSYS,
DOCNR LIKE ACC_DOC-DOCNR,
ICON2 LIKE ICONS-L4,
CELLCOLOR TYPE LVC_T_SCOL,
SEL,
END OF ITAB.
*************END MY BASIC ITAB *********************
DATA : INS TYPE TABLE OF ACC_DOC WITH HEADER LINE. "LIKE ACC_DOC OCCURS 0 WITH HEADER LINE.
......
......
.......
CLEAR ANEK.
SELECT * FROM ANEK WHERE BUKRS IN SBUKRS
AND ANLN1 IN SANLN1
AND ANLN2 IN SANLN2
AND GJAHR IN SGJAHR.
IF SY-SUBRC = 0.
MOVE-CORRESPONDING ANEK TO ITAB.
ENDIF.
CALL FUNCTION 'AC_DOCUMENT_RECORD'
EXPORTING
I_AWTYP = ANEK-AWTYP
I_AWREF = ANEK-BELNR
I_AWORG = ANEK-AWORG
I_AWSYS = ANEK-AWSYS
I_AWTYP_INCL = 'BKPF'
I_AWTYP_EXCL = ' '
I_BUKRS = ANEK-BUKRS
I_VALUTYP = '0'
X_DIALOG = ' '
TABLES
T_DOCUMENTS = INS
* EXCEPTIONS
* NO_REFERENCE = 1
* NO_DOCUMENT = 2
* OTHERS = 3
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
<b> MOVE INS-DOCNR TO ITAB-DOCNR. " i take the same result always !!!!</b>
CLEAR INS-DOCNR.
APPEND ITAB.
ENDSELECT.
Points will be rewarded !!!!!
Please help ....
i call the following code and i take always the same DOCNR in my itab.The number is the first result that FM give to me .At the next lines i take the same result ....
DATA : BEGIN OF ITAB OCCURS 0,
BUKRS LIKE ANEK-BUKRS,
ANLN1 LIKE ANEK-ANLN1,
ANLN2 LIKE ANEK-ANLN2,
BELNR LIKE ANEK-BELNR,
GJAHR LIKE ANEK-GJAHR,
AWTYP LIKE ANEK-AWTYP,
AWORG LIKE ANEK-AWORG,
AWSYS LIKE ANEK-AWSYS,
DOCNR LIKE ACC_DOC-DOCNR,
ICON2 LIKE ICONS-L4,
CELLCOLOR TYPE LVC_T_SCOL,
SEL,
END OF ITAB.
*************END MY BASIC ITAB *********************
DATA : INS TYPE TABLE OF ACC_DOC WITH HEADER LINE. "LIKE ACC_DOC OCCURS 0 WITH HEADER LINE.
......
......
.......
CLEAR ANEK.
SELECT * FROM ANEK WHERE BUKRS IN SBUKRS
AND ANLN1 IN SANLN1
AND ANLN2 IN SANLN2
AND GJAHR IN SGJAHR.
IF SY-SUBRC = 0.
MOVE-CORRESPONDING ANEK TO ITAB.
ENDIF.
CALL FUNCTION 'AC_DOCUMENT_RECORD'
EXPORTING
I_AWTYP = ANEK-AWTYP
I_AWREF = ANEK-BELNR
I_AWORG = ANEK-AWORG
I_AWSYS = ANEK-AWSYS
I_AWTYP_INCL = 'BKPF'
I_AWTYP_EXCL = ' '
I_BUKRS = ANEK-BUKRS
I_VALUTYP = '0'
X_DIALOG = ' '
TABLES
T_DOCUMENTS = INS
* EXCEPTIONS
* NO_REFERENCE = 1
* NO_DOCUMENT = 2
* OTHERS = 3
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
<b> MOVE INS-DOCNR TO ITAB-DOCNR. " i take the same result always !!!!</b>
CLEAR INS-DOCNR.
APPEND ITAB.
ENDSELECT.
Points will be rewarded !!!!!
Please help ....
2007 Sep 19 7:42 AM
2007 Nov 23 2:44 PM
Try this.
First Refresh the internal table t_documents.
CLEAR ls_dialog.
REFRESH t_documents.
CALL FUNCTION 'AC_DOCUMENT_RECORD'
EXPORTING
i_awtyp = w_bkpf-awtyp
i_awref = w_bkpf-awkey+0(10)
i_aworg = w_bkpf-awkey+10(10)
i_awsys = w_bkpf-awsys
I_AWTYP_INCL = ' '
I_AWTYP_EXCL = ' '
i_bukrs = w_bkpf-bukrs
I_VALUTYP = '0'
x_dialog = ls_dialog
TABLES
t_documents = t_documents
EXCEPTIONS
no_reference = 1
no_document = 2
OTHERS = 3
Hope it can help you
doryam