ich muss das folgende Programm Prozedurengenierung anpassen.
In Abhängigkeit von der Fallnummer soll ab Fallnummer 2007000001
auf die neue Tabelle yishmed_transf08 zugegriffen werden und abhängig
von der dort hinterlegten Menge ein sogeannter Prozedurencode
erzeugt werden .
Ist die Fallnummer < 2006999999 soll auf die alte Tabelle yishmed_transf
zugegriffen weden und ebenfalls abhängig von der dort hinterlegten
Menge ein sogenannter Prozedurencode erzeugt werden.
(das klappt)
Eigentlich einfach ??
* Je nach Mengeneinheit soll die dazugehörige Prozedur aus aus der
* Customizingtabelle (yishmed_transf yishmed_transf08 beim anklicken
* des Buttons *
* "PROZEDUR GENERIEREN"des Dokumentes generiert werden
* Auslesen der TE-Summen aus dem Dokument
* Feld xtrsumtk
* generierte Prozedur ins Dokumentfeld Y000002E-P_GENPROZ schreiben
DATA:itrans TYPE yishmed_transf OCCURS 1 WITH HEADER LINE.
DATA: ztrans TYPE i.
DATA: BEGIN OF zcaseprocedure_cdata OCCURS 1.
INCLUDE STRUCTURE bapi1303cdata.
DATA: END OF zcaseprocedure_cdata.
DATA: msgty(1) TYPE c.
DATA: zbapiret2 TYPE bapiret2 OCCURS 1 WITH HEADER LINE.
DATA: icpm TYPE nicp.
DATA sperr_ok TYPE c.
**---------------------------------------------------------------------*
** FORM YGEN *
**---------------------------------------------------------------------*
** ........ *
**---------------------------------------------------------------------*
CONSTANTS: wait TYPE bapita-wait VALUE 'X'.
DATA: comret TYPE bapiret2.
*Prozedur generieren
clear yfcode.
yfcode = fcode.
CASE yfcode.
--------------------Thrombozytenkonserven--------------------------
WHEN 'YPROTK'.
* die Mengenangaben und OPS-Codes für Thrombozytenkonzentrat 2008
* sind geändert
* die Abfrage nach Fallnummer ermöglicht die Zuordnung zur
* gültigen Tabelle
* die Tabelle yishmed_transf enthält die bislang gültigen Grenzmengen
* und OPS-Codes für Thrombozytenkonzentrate
* die Tabelle yishmed_transf08 enthält die 08 gültigen Grenzmengen
* und OPS-Codes für Thrombozytenkonzentrate
IF <primtab>-XTRSUMTK > 0 and in_ndoc-falnr < 2006999999.
SELECT * FROM yishmed_transf
INTO CORRESPONDING FIELDS OF TABLE itrans
where yish_transf_art = 'TK'.
*if <primtab>-XTRSUMTK > 0 and in_ndoc-falnr > 2006999999.
*
* SELECT * FROM yishmed_transf08
* INTO CORRESPONDING FIELDS OF TABLE itrans
* where yish_transf_art = 'TK'.
IF msgty NE 'E'.
* Commit
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = wait
IMPORTING
return = comret.
y000002F-XTRPROTK = icpm.
ELSE.
enq_uname = sy-msgv1.
IF enq_uname = sy-uname.
MESSAGE e657(nf) WITH in_ndoc-falnr space.
* Sie haben den Fall & & bereits gesperrt
ELSE.
* PERFORM read_user_telnr(sapmn1pa) USING enq_uname.
* telnr telstrg.
* MESSAGE e658(nf) WITH in_ndoc-falnr space enq_uname .
* Fall & & bereits gesperrt durch &
ENDIF.
ENDIF.
endif.