1)关于计算交货单的可能的输入到发票校验(MIRO)可以参见RM08RL82
计算的说明:
1)读取适合条件的EKKO
SELECT * FROM "EKKO"
WHERE
"MANDT" = '800' AND "BSTYP" IN ('L' , 'F') AND "EBELN" = ''4500000005' AND "BUKRS" = '1002'
AND "LIFRE" = '0011000843' AND "FRGRL" = '' AND "LOEKZ" = ' ' AND ( "MEMORY" =' ' OR "MEMORY" IS NULL )
2)根据读取出的EKKO读取EKPO和EKBE
SELECT * FROM EKPO WHERE "MANDT" = '800' AND "EBELN" = '4500000005' AND "REPOS" = 'X' AND "LOEKZ" = ' '
SELECT * FROM EKBE WHERE "MANDT" = '800' AND "EBELN" = '4500000005' AND ( "VGABE" = '1' OR "VGABE" = '2' )
3)循环读取EKKO的内表,来计算EKBE的交货和发货的的数量和金额,来生成需要开票的金额。
2)MIRO的操作保存时用到的函数
CALL FUNCTION 'CKMV_AC_DOCUMENT_POST'
CALL FUNCTION 'POST_DOCUMENT' IN UPDATE TASK
CALL FUNCTION 'G_FI_POSTING' IN UPDATE TASK
CALL FUNCTION 'G_LC_POSTING' IN UPDATE TASK
CALL FUNCTION 'AC_DOCUMENT_MM_UPDATE' IN UPDATE TASK
call function 'MCE_STATISTICS_UPD_V2' in