Update MKPF , LIKP table
Hi All,
my requirement is to update a field i.e TCODE2 in MKPF table, I can update directly But SAP do not recommend, Is there any other way I can update the field from ABAP program, I also want to update field in LIKP table, please tell me how to update for the same.
thanks
tanmay
Edited by: TanmayG2000 on Mar 31, 2009 8:38 AM
Hi,
You can create a Z program,which has a selection screenasking for the primary key selection.
After that, using SQL, it updates the field of that row.
Still such things are not advisable. Its necessasry to have the confirmation
and signature of functional consultant, while touching the standard sap tables.
Similar Messages
-
I've a scenerio where i've to updated LIKP table, when user save the HUPAST. I've created the BDC program which update the likp table using VL02N transacton. but when i'm calling the BDC from a BADI its giving a error, as i'm trying to update the same delivery number. (Delivery already updated by user).
I'm now trying using events, i've traced an event CHANGED in object type LIKP , which is fired when HUPAST is saved.
How do i update the event changed ??? and call the bdc program from the event.
pls share .
Sanjuhi,
You can do it PAI under module USER_COMMAND. and you can use standard UPDATE/MODIFY/DELETE statements to update ur database table and make sure u use a commit work after the use of ablove mentioned statements.
kindly check this.
PROCESS BEFORE OUTPUT.
MODULE status_9010.
LOOP WITH CONTROL tab_control.
MODULE move_data_to_table.
ENDLOOP.
PROCESS AFTER INPUT.
LOOP WITH CONTROL tab_control.
MODULE move_data_from_table.
ENDLOOP.
*& Module move_data_to_table OUTPUT
This is to move the data from the internal table to the table control
MODULE move_data_to_table OUTPUT.
This is to move the data from the internal table to the table control
zmpets_mode-modecode,zmpets_range-rangeid,zmpets_servfacto-factor are column name of table control
READ TABLE int_factor INDEX tab_control-current_line.
IF sy-subrc = 0.
zmpets_mode-modecode = int_factor-modecode.
zmpets_range-rangeid = int_factor-rangeid.
zmpets_servfacto-factor = int_factor-factor.
ENDIF.
ENDMODULE. " move_data_to_table OUTPUT
*& Module move_data_from_table INPUT
Date is moved from the table control to the Internal Table
MODULE move_data_from_table INPUT.
To move the data from the table control to internal table 'INT_FACTOR'.
int_factor-modecode = zmpets_mode-modecode.
int_factor-rangeid = zmpets_range-rangeid.
int_factor-factor = zmpets_servfacto-factor.
*here if the data is there, it will modify
MODIFY int_factor INDEX tab_control-current_line.
IF sy-subrc NE 0. "data not exixting in table control . ie new data, then append it
APPEND int_factor.
CLEAR int_factor.
ENDIF.
ENDMODULE. " move_data_from_table INPUT
Also refer to this link:
http://help.sap.com/saphelp_nw2004s/helpdata/en/9f/dbac5e35c111d1829f0000e829fbfe/content.htm
<b>Reward points if found helpful ..
Cheers,
Chandra Sekhar.</b> -
Update LIKP table while saving the output type in VT02N transaction
Hi All,
I have a requirement where i have to update Delivery Priority(LPRIO) field in LIKP table while saving the output type in VT02N transaction. I am not able to use the BAPI "BAPI_OUTB_DELIVERY_CHANGE" or FM "WS_DELIVERY_UPDATE" because, when we save the output type the programs that are configured in NACE are triggered in update mode and hence i will get a roll back error.
Let me know other ways of updating the table at the time of saving output type for shipment transaction VT02N.This could be a result of one of the following reasons:
1: Incorrect smart form/routine assigned in the output configuration (NACE)
2: Serial number range of the delivery expired
3: The default settings of the user (SU01) processing the delivery is missing the default printer name.
Hope this is helpful
Manish -
LIKP table updation using the IDOC_INPUT_DESADV1
Hi,
Please help me when and where the LIKP table is updating using the FM IDOC_INPUT_DESADV1. I debugged the program several times even though i couldnt able to find the updation part.
Further to the above wherer exactly the idoc number is generrating in this FM.
This is very urgent.Kindly give the replies at the earliest.Ubay
Refer to this code in IDOC function module DOC_INPUT_DESADV1. Delivery order must be getting created thorugh this function module.
CALL FUNCTION 'GN_DELIVERY_CREATE'
EXPORTING
VBSK_I = S_VBSK
NO_COMMIT = TRUE
IF_SYNCHRON = ' ' "INS_HP_338221
IF_NO_DEQUE = 'X' "n_632020
IMPORTING
VBSK_E = S_VBSK
TABLES
XKOMDLGN = T_DLGN
XVBFS = T_VBFS
XVBLS = T_VBLS
XVERKO = T_VSEK
XVERPO = T_VSEP
IT_GN_HUSERNR = T_HUSN
IT_GN_SERNR = T_SERN
EXCEPTIONS
ERROR_MESSAGE = 1
OTHERS = 2.
Thanks
Amol G. Lohade -
How does SAP updates MKPF Table Through TCODE MB0A
Hello There,
how does SAP updates MKPF Table Through TCODE MB0A ( POST GOODS RECEIPT )? I tried to debug the same by posting GR, but could not figure out.
Awaiting Reply
SantoshHi ,
These are the table that are updated through the MB0A ,,
DGESV DMAEX DMAKT DMAPE
DMARM DMEAN DMKAL DMLAN
DPROW DQMAT DUNGV MARA
MARC MARD MBEW MFHM
MLGN MLGT MPGD MPOP MVKE,
MCHA, MCHB, MCHD.
Regards,
Bharani -
Update value for XABLN in LIKP table
Hi ,
Is there any way to update the LIKP-XABLN filed yhrough BAPI?
I tried with this FM BAPI_OUTB_DELIVERY_CHANGE , but could not succeed.
Edited by: nancy coner on Jan 27, 2010 9:39 AMHi,
I need to update LIKP-XABLN field from a Smart Form driver program programaticaly only when the Form is successfully printed.
I dint find any BAPI / Std Function Module which does the update.
I dont know how MB_XAB_NUMBER_GET works to update the XABLN field?
Edited by: nancy coner on Feb 1, 2010 8:03 AM -
BAPI for changing delivery date and delivery time fields in LIKP table
Hi All,
Is there any BAPI or function module to change the delivery date and delivery time in LIKP table ?
Please tell me experts if exists.
Thank you,
Raghu.try these:
BAPI/FM to update LIKP and VTTK tables
http://sap.ittoolbox.com/groups/technical-functional/sap-dev/bapi-for-changing-sales-headertable-likp-662800 -
Procees for upload field in mkpf&mseg table
Hi friends,
i had return the code for uploading two fields in mkpf and mseg table .when i am executing through f8 the updated value is not founding when we checkd through debugging the value is updating and appering in screen plz tell me how i will solve the issue.
for u r referenece i am sending the code what i had return in logic.
types: BEGIN OF it_tab,
prueflos(16) type c,
MBLNR type mblnr,
TYP type QAMBTYPE,
END OF it_tab.
types: begin of it_tab1.
include type mkpf.
types: END OF it_tab1.
types:begin of it_mseg.
include type mseg.
types:end of it_mseg.
* end of it_tab1.
types: ts_tab1 type STANDARD TABLE OF it_tab1.
types: ts_mseg type STANDARD TABLE OF it_mseg.
data: ts_tab type STANDARD TABLE OF it_tab,
wa_tab type it_tab,
wa_tab1 type it_tab1,
ts_tab2 type ts_tab1,
ts_mseg type ts_mseg,
wa_mseg type it_mseg,
it_tab12 type it_tab1 OCCURS 0 WITH HEADER LINE.
select PRUEFLOS mblnr typ from QAMB
into table ts_tab where prueflos = it_final-prueflos
and typ = '3'.
if ts_tab[] is not INITIAL.
sort ts_tab[] by mblnr.
select * from mkpf into TABLE ts_tab2 FOR ALL ENTRIES IN ts_tab where mblnr = ts_tab-mblnr.
if ts_tab2[] is not INITIAL.
sort ts_tab2[] by mblnr.
select * from mseg into table ts_mseg FOR ALL ENTRIES IN ts_tab2 where mblnr = ts_tab2-mblnr.
endif.
endif.
loop at ts_tab into wa_tab .
READ TABLE ts_tab2 into wa_tab1 with key mblnr = wa_tab-mblnr.
wa_tab1-FRBNR = it_data1-FRBNR.
if sy-subrc eq 0.
wait UP TO 2 SECONDS.
update mkpf from wa_tab1.
COMMIT WORK .
endif.
read table ts_mseg into wa_mseg with key mblnr = wa_tab1-mblnr.
wa_mseg-sgtxt = it_data1-trucknum.
if sy-subrc eq 0.
wait UP TO 2 seconds.
update mseg from wa_mseg.
COMMIT WORK .
endif.
ENDLOOP.
thanks in advance,
siva
Edited by: Thomas Zloch on May 13, 2011 1:37 PM - please use code tagsit is added in bdc code only.
now i will explaing proccess of bdc . this is used for converting meterial type from 103 movement type to 105 move ment type so whaterver data they got through 103 movemet type (migo data) they are uploading through xl and uploading through our bdc
after uploading they are used QA11 tcode .record is done for this after recording completed it is converting 103 to 105 move ment type and it is displaying message like succesfully proceesed . inthis 105 movement type we are not getting bill of lading no and truck no so i am updating these two field in this table so i done like this so do u get any idea to update the fields in another way means plz help me
siva. -
Update the custom table by using Custom Function module.
Hi Experts,
My requirement is ,
1) To create the Custom Z table with fields
vbak-vbeln
likp-vbeln
vbuk-vbeln
After creating this Z table.
2) I have to create one custom function module.
Based on this function module i have to update that Z table.
3) Before these steps i have to write down an ALV report based on the tables vbak and vbeln, in that table i have to print vbak-vbeln. and also in report i generated check box and one custom button in application toolbar. after the report will displayed , when ever i click the button in application tollbar , this function module will executed and the table will be updated.
But I developed the ALV report with custom button and check box successfully.
My doubt is how to write the function module and based on that function module how to update the table.
Please suggest me on this requirement.
Thanks in Advance.
Thanks and Regards
Srihari.HI ,
Can any one help me out on my above requiremnet..
Thanks and Regards
Srihari. -
Folio number not updated in the table RG23D
Hi all,
Folio number not updated in the table RG23D when I create depot excise invoice using batch program J_1IJCHK. Can any one help me by providing rootcause and solution.
Thanks in advance.
Regards
BalajiSee can i know in which version u r working,Because if u r in 4.6c there will be some problem.Some patches will be there.
Try this program i have send and assign excise duty
REPORT YJ_1IJCHK MESSAGE-ID 8I.
TABLES : J_1IEXCHDR, "excise header
J_1IEXCDTL, "excise detail
J_1IRG23D , "RG23D register
J_1IWRKCUS, "Plant level customisation
J_1IREGSET, "register set customisation
J_1IEXCDEF, "Tax default information
VBFA, "sales document flow
LIKP, "delivery header
LIPS, "delivery detail
T005, "country information
KUAGV, "sold-to-party information
KUWEV, "ship-to-party information
KNA1, "customer master
VBPA, "sales document partner
TVKO, "sales organisation to company co
VBUK, "delivery information
MAKT, "material description
T001. "company code
selection-screen begin of block delivery_details no intervals.
PARAMETERS: FCODE TYPE C,
DELIVERY LIKE LIPS-VBELN,
EXCGROUP LIKE J_1IEXCHDR-EXGRP,
SERGROUP LIKE J_1IEXCHDR-SRGRP.
TYPES : BEGIN OF RG23D.
INCLUDE STRUCTURE J_1IRG23D.
TYPES: MENGR LIKE J_1IEXCDTL-MENGR, "remaining quantity
MENGA LIKE J_1IEXCDTL-MENGA, "quantity actually rec
ADDBED LIKE J_1IEXCDTL-ADDBED,
ADDSED LIKE J_1IEXCDTL-ADDSED,
ADDAED LIKE J_1IEXCDTL-ADDAED,
END OF RG23D.
DATA : BEGIN OF J1IJ300,
BUKRS LIKE TVKO-BUKRS,
WERKS LIKE LIPS-WERKS,
REGID LIKE J_1IREGSET-J_1IREGID,
WAERS LIKE T001-WAERS,
SHIPFROM_IND TYPE C, " Added 10/12/1998
RG23D_SERIALNO TYPE C, " Added 10/12/1998
END OF J1IJ300.
DATA : TRNTYP(4) TYPE C,
CONDT-NAME(3) TYPE C,
TOTAL_LRG23D LIKE LIPS-LFIMG,
ALLOC_LRG23D LIKE LIPS-LFIMG,
SHIPFROM_IND LIKE J_1IEXCHDR-STATUS,
RG23D_SERIALNO LIKE J_1IEXCHDR-STATUS.
DATA : BEGIN OF XLIPS OCCURS 10,
internal table to store the delivery item information
VBELN LIKE LIPS-VBELN,
POSNR LIKE LIPS-POSNR,
MATNR LIKE LIPS-MATNR,
MAKTX LIKE MAKT-MAKTX,
WERKS LIKE LIPS-WERKS,
LGORT LIKE LIPS-LGORT,
CHARG LIKE LIPS-CHARG,
LFIMG LIKE LIPS-LFIMG,
MEINS LIKE LIPS-MEINS,
BED LIKE J_1IRG23D-EXBED,
SED LIKE J_1IRG23D-EXSED,
AED LIKE J_1IRG23D-EXAED,
CUR LIKE J_1IRG23D-EXCUR,
SELFLAG TYPE C , "T=excise invoice selected
INDEX LIKE SY-TABIX, "index in the table
FLG TYPE C. "item selection
DATA : END OF XLIPS.
DATA : CRG23D TYPE RG23D OCCURS 30 WITH HEADER LINE.
contains all rg23d entries for the document
DATA : LRG23D TYPE RG23D OCCURS 30 WITH HEADER LINE.
contains item rg23d entries
DATA : BEGIN OF Z_1IRG23D OCCURS 30.
stores the data to be updated
INCLUDE STRUCTURE J_1IRG23D.
DATA : END OF Z_1IRG23D.
DATA : BEGIN OF EXCINV OCCURS 30.
factory inovoics selected for item
INCLUDE STRUCTURE J_1IEXCDTL.
DATA : END OF EXCINV.
DATA : BEGIN OF ASSIGNED_EXCINV OCCURS 30.
INCLUDE STRUCTURE J_1IEXCDTL.
DATA : END OF ASSIGNED_EXCINV.
DATA : A_INDEX LIKE SYST-TABIX.
DATA : BEGIN OF LOCK_TABLE OCCURS 10,
table containing plant-material combination and status of the lock
WERKS LIKE J_1IEXCDTL-WERKS,
MATNR LIKE J_1IEXCDTL-MATNR,
STATUS TYPE C, "LOCKED/UNLOCKED
END OF LOCK_TABLE.
DATA : BEGIN OF LOCKTAB OCCURS 0,
TRNTYP LIKE J_1IEXCDTL-TRNTYP,
DOCNO LIKE J_1IEXCDTL-DOCNO,
DOCYR LIKE J_1IEXCDTL-DOCYR,
ZEILE LIKE J_1IEXCDTL-ZEILE,
END OF LOCKTAB.
DATA :
CRG23D-CTR TYPE I, "Line count of crg23d table
SHIPFROM LIKE J_1IRG23D-SHIPFROM,
FOLIO LIKE J_1IRG23D-FOLIO,
SERIALNO LIKE J_1IRG23D-SERIALNO,
DEPEXNUM LIKE J_1IRG23D-DEPEXNUM,
DEPEXYEAR LIKE J_1IRG23D-DEPEXYEAR.
CONSTANTS :
BED LIKE CONDT-NAME VALUE 'BED',
AED LIKE CONDT-NAME VALUE 'AED',
SED LIKE CONDT-NAME VALUE 'SED',
CES LIKE CONDT-NAME VALUE 'CES',
LOCKED TYPE C VALUE '1',
UNLOCKED TYPE C VALUE '2'.
AT SELECTION-SCREEN.
PERFORM CHECK_VBELN_INPUT.
IF FCODE = 'S'.
PERFORM DELIVERY_START_USER_EXIT.
PERFORM READ_DELIVERY_HEADER.
PERFORM GET_COMP_CODE.
PERFORM READ_CUSTOMISATION.
PERFORM GET_ITEM_INFO.
PERFORM LOCKING.
PERFORM RG23D_SELECTION.
PERFORM SAVE_DOCUMENT.
MESSAGE I000 WITH 'Selection Complete for Delivery ' DELIVERY.
ELSEIF FCODE = 'V'.
PERFORM GET_COMP_CODE.
PERFORM READ_CUSTOMISATION.
PERFORM GET_ITEM_INFO.
PERFORM LOCKING.
PERFORM UPDATE_DOCUMENT.
MESSAGE I000 WITH 'Verfiy/Post Complete for Delivery ' DELIVERY.
ENDIF.
FORM CHECK_VBELN_INPUT.
Validate Function Code
IF NOT ( FCODE = 'S' OR FCODE = 'V' ).
MESSAGE E000 WITH 'Valid Functions are S/V - Select/Verify Post'.
ENDIF.
IF DELIVERY IS INITIAL.
MESSAGE E000 WITH 'Delivery number cannot be initial'.
ENDIF.
check if goods issue done for the delivery
SELECT SINGLE WBSTK INTO VBUK-WBSTK
FROM VBUK
WHERE VBELN = DELIVERY.
IF SY-SUBRC = 0.
IF VBUK-WBSTK <> 'C' AND FCODE = 'V'.
MESSAGE W339 WITH DELIVERY.
ENDIF.
ELSE.
MESSAGE E000 WITH 'Invalid Delivery'.
ENDIF.
if in select mode check if excise invoice already selected for delive
SELECT SINGLE * FROM J_1IRG23D
WHERE VBELN = DELIVERY.
IF FCODE = 'S'.
IF SY-SUBRC = 0.
MESSAGE E325 WITH DELIVERY.
ENDIF.
ELSEIF FCODE = 'V'.
IF SY-SUBRC NE 0.
MESSAGE E000 WITH 'Selection not over for ' DELIVERY.
ELSEIF J_1IRG23D-STATUS = 'P'.
MESSAGE E000 WITH 'Record Already Posted '.
ENDIF.
ENDIF.
CLEAR J_1IRG23D.
ENDFORM. " CHECK_VBELN_INPUT
FORM READ_DELIVERY_HEADER.
SELECT SINGLE * FROM LIKP
WHERE VBELN = DELIVERY.
get the sold-to-party
CLEAR: KUAGV, KUWEV.
SELECT SINGLE KUNNR NAME1 LAND1
FROM KNA1 INTO (KUAGV-KUNNR,KUAGV-NAME1,KUAGV-LAND1)
WHERE KUNNR = LIKP-KUNAG.
get the ship-to-party
SELECT SINGLE KUNNR LAND1 NAME1
FROM KNA1 INTO (KUWEV-KUNNR,KUWEV-LAND1,KUWEV-NAME1)
WHERE KUNNR = LIKP-KUNNR.
ENDFORM. " READ_DELIVERY_HEADER
FORM GET_COMP_CODE.
get the company code of the document from the sales organisation
CLEAR TVKO-BUKRS.
SELECT SINGLE BUKRS FROM TVKO INTO TVKO-BUKRS
WHERE VKORG = LIKP-VKORG.
J1IJ300-BUKRS = TVKO-BUKRS.
SELECT SINGLE WAERS FROM T001 INTO J1IJ300-WAERS
WHERE BUKRS = J1IJ300-BUKRS.
ENDFORM. " GET_COMP_CODE
FORM READ_CUSTOMISATION.
SELECT SINGLE WERKS INTO J1IJ300-WERKS
FROM LIPS
WHERE VBELN = DELIVERY.
Plant level customisation
SELECT SINGLE * FROM J_1IWRKCUS
WHERE J_1IWERKS = J1IJ300-WERKS .
IF SY-SUBRC <> 0.
MESSAGE E303 WITH 'plant' J1IJ300-WERKS 'J_1IWRKCUS'.
ENDIF.
IF J_1IWRKCUS-J_1IDEPOT IS INITIAL.
plant is defined as factory
MESSAGE E322 WITH J1IJ300-WERKS.
ENDIF.
J1IJ300-REGID = J_1IWRKCUS-J_1IREGID.
TRNTYP = 'DLDO'.
SELECT SINGLE * FROM J_1IREGSET
WHERE J_1IREGID = J1IJ300-REGID.
IF SY-SUBRC <> 0.
MESSAGE E303 WITH 'Register id' J1IJ300-REGID 'J_1IREGSET'.
ENDIF.
ENDFORM. " READ_CUSTOMISATION
*& Form GET_ITEM_INFO
text *
--> p1 text
<-- p2 text
FORM GET_ITEM_INFO.
REFRESH : CRG23D, LRG23D, EXCINV, XLIPS.
PERFORM READ_DELIVERY_ITEM.
ENDFORM. " GET_ITEM_INFO
*& Form READ_DELIVERY_ITEM
text *
--> p1 text
<-- p2 text
FORM READ_DELIVERY_ITEM.
DATA : CNT LIKE SY-TABIX.
CLEAR CNT.
REFRESH XLIPS.
SELECT * FROM LIPS
WHERE VBELN = DELIVERY.
read the delivery item
perform plant checking only if in create mode
IF LIPS-WERKS <> J1IJ300-WERKS.
plant is different from that of the first item
SELECT SINGLE J_1IREGID INTO J_1IWRKCUS-J_1IREGID
FROM J_1IWRKCUS
WHERE J_1IWERKS = LIPS-WERKS.
IF SY-SUBRC <> 0.
MESSAGE E303 WITH 'plant' LIPS-WERKS 'J_1IWRKCUS'.
ENDIF.
IF J_1IWRKCUS-J_1IREGID <> J1IJ300-REGID.
register id of the two plants are different
MESSAGE E338 WITH DELIVERY.
ENDIF.
ENDIF.
CLEAR XLIPS.
store the item details
XLIPS-VBELN = LIPS-VBELN.
XLIPS-POSNR = LIPS-POSNR.
XLIPS-MATNR = LIPS-MATNR.
PERFORM GET_MATERIAL_DESC
USING XLIPS-MATNR
XLIPS-MAKTX.
XLIPS-WERKS = LIPS-WERKS.
XLIPS-LGORT = LIPS-LGORT.
XLIPS-CHARG = LIPS-CHARG.
XLIPS-LFIMG = LIPS-LFIMG.
XLIPS-MEINS = LIPS-VRKME. "changed 2.3.98
CLEAR : XLIPS-BED, XLIPS-SED, XLIPS-AED.
XLIPS-CUR = J1IJ300-BUKRS.
CNT = CNT + 1.
XLIPS-INDEX = CNT.
XLIPS-SELFLAG = 'F'.
APPEND XLIPS.
ENDSELECT.
ENDFORM. " READ_DELIVERY_ITEM
*& Form GET_MATERIAL_DESC
text *
--> p1 text
<-- p2 text
FORM GET_MATERIAL_DESC USING MATNR MAKTX.
SELECT SINGLE MAKTX FROM MAKT INTO MAKTX
WHERE MATNR = MATNR
AND SPRAS = 'E' .
ENDFORM. " GET_MATERIAL_DESC
*& Form LOCKING
text *
--> p1 text
<-- p2 text
FORM LOCKING.
REFRESH LOCK_TABLE.
LOOP AT XLIPS.
LOCK_TABLE-WERKS = XLIPS-WERKS.
LOCK_TABLE-MATNR = XLIPS-MATNR.
LOCK_TABLE-STATUS = UNLOCKED.
COLLECT LOCK_TABLE.
ENDLOOP.
PERFORM LOCK_UNLOCK_PLANT_MATERIAL USING LOCKED.
SELECT TRNTYP DOCNO DOCYR ZEILE INTO
(LOCKTAB-TRNTYP,
LOCKTAB-DOCNO,LOCKTAB-DOCYR,
LOCKTAB-ZEILE)
FROM J_1IEXCDTL
WHERE TRNTYP = 'GRPO'
AND WERKS = XLIPS-WERKS
AND LGORT = XLIPS-LGORT
AND MATNR = XLIPS-MATNR
AND CHARG = XLIPS-CHARG.
APPEND LOCKTAB.
ENDSELECT.
*share lock for all excise invoices
LOOP AT LOCKTAB.
CALL FUNCTION 'ENQUEUE_EJ_1IEXDTL'
EXPORTING
MODE_J_1IEXCDTL = 'S'
MANDT = SY-MANDT
TRNTYP = LOCKTAB-TRNTYP
DOCYR = LOCKTAB-DOCYR
DOCNO = LOCKTAB-DOCNO
ZEILE = LOCKTAB-ZEILE
EXCEPTIONS
FOREIGN_LOCK = 1
SYSTEM_FAILURE = 2
OTHERS = 3.
ENDLOOP.
ENDFORM. " LOCKING
*& Form LOCK_UNLOCK_PLANT_MATERIAL
text *
--> p1 text
<-- p2 text
FORM LOCK_UNLOCK_PLANT_MATERIAL USING ACTION.
DATA: __UNAME LIKE SY-UNAME,
__OBJECT LIKE DD25V-VIEWNAME.
DATA : BEGIN OF LOCK_STRUCT,
GRANNAME(10) VALUE 'J1IJ',
ENQMODE VALUE 'E',
MANDT LIKE SY-MANDT,
WERKS LIKE J_1IEXCDTL-WERKS,
MATNR LIKE J_1IEXCDTL-MATNR,
END OF LOCK_STRUCT.
LOCK_STRUCT-MANDT = SY-MANDT.
LOOP AT LOCK_TABLE WHERE STATUS <> ACTION.
perform the locking/unlocking operation only for the items for which
it is not already done
LOCK_STRUCT-WERKS = LOCK_TABLE-WERKS.
LOCK_STRUCT-MATNR = LOCK_TABLE-MATNR.
CALL 'C_ENQUEUE'
ID 'OPCODE' FIELD ACTION
ID 'ENQOBJ' FIELD 'J_1IJ'
ID '01' FIELD LOCK_STRUCT
ID 'COLLISION_UNAME' FIELD __UNAME
ID 'COLLISION_OBJECT' FIELD __OBJECT.
CASE SY-SUBRC.
WHEN 0.
LOCK_TABLE-STATUS = ACTION.
MODIFY LOCK_TABLE.
WHEN 2.
MESSAGE E341 WITH LOCK_TABLE-WERKS LOCK_TABLE-MATNR __UNAME.
WHEN OTHERS.
IF ACTION = LOCKED.
MESSAGE E342 WITH 'locking'
LOCK_TABLE-WERKS LOCK_TABLE-MATNR.
ELSE.
MESSAGE E342 WITH 'unlocking'
LOCK_TABLE-WERKS LOCK_TABLE-MATNR.
ENDIF.
ENDCASE.
ENDLOOP.
ENDFORM. " LOCK_UNLOCK_PLANT_MATERIAL
*& Form RG23D_SELECTION
text *
--> p1 text
<-- p2 text
FORM RG23D_SELECTION.
REFRESH CRG23D.
REFRESH ASSIGNED_EXCINV.
LOOP AT XLIPS.
*write: / xlips-vbeln,xlips-posnr,xlips-matnr, xlips-meins, xlips-lfimg.
REFRESH EXCINV.
CALL FUNCTION 'J_1I6_SELECT_EXCISE_INVOICE_DE'
EXPORTING
BUKRS = J1IJ300-BUKRS
CHARG = XLIPS-CHARG
WERKS = XLIPS-WERKS
EXGRP = EXCGROUP
MATNR = XLIPS-MATNR
QTY_CHECK = 'X'
MULTI = 'X'
NO_DAY_CHECK = 'X'
SHIPFROM = SHIPFROM
LGORT = XLIPS-LGORT
TABLES
EXC_TAB = EXCINV
EXCEPTIONS
OTHERS = 1.
TOTAL_LRG23D = 0.
ALLOC_LRG23D = 0.
SORT EXCINV BY DOCYR DOCNO .
LOOP AT ASSIGNED_EXCINV.
READ TABLE EXCINV WITH KEY DOCYR = ASSIGNED_EXCINV-DOCYR
DOCNO = ASSIGNED_EXCINV-DOCNO
ZEILE = ASSIGNED_EXCINV-ZEILE
BINARY SEARCH.
IF SY-SUBRC = 0.
A_INDEX = SY-TABIX.
EXCINV-MENGR = EXCINV-MENGR - ASSIGNED_EXCINV-MENGR.
MODIFY EXCINV INDEX A_INDEX .
ENDIF.
ENDLOOP.
DELETE EXCINV WHERE MENGR = 0.
total_lrg23d = total balance quantity in the selected excise invoices
alloc_lrg23d = Quantity allocated to a delivery line item,
Allocation continues till
- We have balance quantity in excise invoice selection
- Till total delivery quantity is allocated
LOOP AT EXCINV.
To Force the same shipfrom for all the excise invoices
Shipfrom Ind can be determined in the start user-exit
IF J1IJ300-SHIPFROM_IND = 'Y'.
IF XLIPS-INDEX = 1 AND SY-TABIX = 1.
SHIPFROM = EXCINV-SHIPFROM.
ENDIF.
IF SHIPFROM NE EXCINV-SHIPFROM.
EXCINV-RIND3 = 'X'.
MODIFY EXCINV.
CONTINUE.
ENDIF.
ENDIF.
Allocation
IF XLIPS-LFIMG NE ALLOC_LRG23D.
TOTAL_LRG23D = TOTAL_LRG23D + EXCINV-MENGR.
IF XLIPS-LFIMG > TOTAL_LRG23D.
ALLOC_LRG23D = ALLOC_LRG23D + EXCINV-MENGR.
ELSE.
EXCINV-MENGR = XLIPS-LFIMG - ALLOC_LRG23D.
ALLOC_LRG23D = ALLOC_LRG23D + EXCINV-MENGR.
ENDIF.
ELSE.
EXCINV-RIND3 = 'X'.
ENDIF.
MODIFY EXCINV.
ENDLOOP.
DELETE EXCINV WHERE RIND3 = 'X'.
LOOP AT EXCINV.
MOVE-CORRESPONDING EXCINV TO ASSIGNED_EXCINV.
APPEND ASSIGNED_EXCINV.
CLEAR ASSIGNED_EXCINV.
ENDLOOP.
IF TOTAL_LRG23D < XLIPS-LFIMG.
MESSAGE E000 WITH 'Not enough balance in RG23D ......'.
ENDIF.
Collect all allocated excise invoices to crg23d table
LOOP AT EXCINV.
PERFORM FILL_CRG23D.
APPEND CRG23D.
ENDLOOP.
ENDLOOP.
ENDFORM. " RG23D_SELECTION
*& Form SAVE_DOCUMENT
text *
--> p1 text
<-- p2 text
FORM SAVE_DOCUMENT.
PERFORM PREPARE_RG23D_DATA.
Generate RG23D serial number and Excise Invoice Serial Number
IF J1IJ300-RG23D_SERIALNO = 'Y'.
PERFORM GENERATE_RG23D_SERIAL ON COMMIT.
ENDIF.
PERFORM GENERATE_EXCISE_INV_SERIAL ON COMMIT.
CALL FUNCTION 'J_1I7_USEREXIT_DEPOT_BEF_SAVE'
TABLES
RG23D = Z_1IRG23D
EXCEPTIONS
OTHERS = 1.
PERFORM UPDATE_RG23D ON COMMIT.
PERFORM UPDATE_EXCDTL ON COMMIT.
COMMIT WORK.
PERFORM LOCK_UNLOCK_PLANT_MATERIAL USING UNLOCKED.
PERFORM UNLOCKING.
MESSAGE S333 WITH DELIVERY.
ENDFORM. " SAVE_DOCUMENT
*& Form PREPARE_RG23D_DATA
text *
--> p1 text
<-- p2 text
FORM PREPARE_RG23D_DATA.
REFRESH Z_1IRG23D.
LOOP AT CRG23D WHERE MENGE <> 0.
CLEAR Z_1IRG23D.
Z_1IRG23D = CRG23D.
Z_1IRG23D-USNAM = SY-UNAME.
Z_1IRG23D-CPUDT = SY-DATUM.
Z_1IRG23D-EXGRP = EXCGROUP.
Z_1IRG23D-SRGRP = SERGROUP.
APPEND Z_1IRG23D.
IF CRG23D-ADDAED <> 0 OR CRG23D-ADDSED <> 0 OR CRG23D-ADDAED <> 0 .
additional excise is applicable
make quantity zero for A certificate entries
CLEAR : Z_1IRG23D-MENGE.
get all the A certificates for the excise document item
SELECT * FROM J_1IEXCDTL
TODO : add the transaction type to the selection procedure
WHERE RDOC1 = CRG23D-DOCNO
AND RYEAR1 = CRG23D-DOCYR
AND RITEM1 = CRG23D-ZEILE
AND RIND1 = 'G'.
get the A certificate number
SELECT SINGLE
EXNUM EXYEAR INTO (Z_1IRG23D-EXNUM, Z_1IRG23D-EXYEAR)
FROM J_1IEXCHDR
WHERE TRNTYP = J_1IEXCDTL-TRNTYP
AND DOCYR = J_1IEXCDTL-DOCYR
AND DOCNO = J_1IEXCDTL-DOCNO.
Z_1IRG23D-TRNTYP = J_1IEXCDTL-TRNTYP.
Z_1IRG23D-DOCYR = J_1IEXCDTL-DOCYR.
Z_1IRG23D-DOCNO = J_1IEXCDTL-DOCNO.
Z_1IRG23D-ZEILE = J_1IEXCDTL-ZEILE.
Z_1IRG23D-EXBED = ( J_1IEXCDTL-EXBED * CRG23D-MENGE )
/ CRG23D-MENGA.
Z_1IRG23D-EXSED = ( J_1IEXCDTL-EXSED * CRG23D-MENGE )
/ CRG23D-MENGA.
Z_1IRG23D-EXAED = ( J_1IEXCDTL-EXAED * CRG23D-MENGE )
/ CRG23D-MENGA.
Z_1IRG23D-RG23ASER = J_1IEXCDTL-RG23ASER.
Z_1IRG23D-RG23CSER = J_1IEXCDTL-RG23CSER.
Z_1IRG23D-RGPLASER = J_1IEXCDTL-RGPLASER.
APPEND Z_1IRG23D.
ENDSELECT.
ENDIF.
ENDLOOP.
ENDFORM. " PREPARE_RG23D_DATA
*& Form UPDATE_RG23D
text *
--> p1 text
<-- p2 text
FORM UPDATE_RG23D.
*update the rg23d register
INSERT J_1IRG23D FROM TABLE Z_1IRG23D ACCEPTING DUPLICATE KEYS.
IF SY-SUBRC <> 0.
MESSAGE A308 WITH 'J_1IRG23D'.
ENDIF.
ENDFORM. " UPDATE_RG23D
*& Form UPDATE_EXCDTL
text *
--> p1 text
<-- p2 text
FORM UPDATE_EXCDTL.
LOOP AT CRG23D WHERE MENGE <> 0.
update the remaining quantity in the excise invoice item tables
UPDATE J_1IEXCDTL
SET MENGR = MENGR - CRG23D-MENGE
AENAM = SY-UNAME
AEDAT = SY-DATUM
WHERE TRNTYP = 'GRPO'
AND DOCYR = CRG23D-DOCYR
AND DOCNO = CRG23D-DOCNO
AND ZEILE = CRG23D-ZEILE.
IF SY-SUBRC <> 0.
MESSAGE A308 WITH 'J_1IRG23D'.
ENDIF.
ENDLOOP.
ENDFORM. " UPDATE_EXCDTL
*& Form FILL_CRG23D
text *
--> p1 text
<-- p2 text
FORM FILL_CRG23D.
CRG23D-TRNTYP = EXCINV-TRNTYP.
CRG23D-DOCYR = EXCINV-DOCYR.
CRG23D-DOCNO = EXCINV-DOCNO.
CRG23D-ZEILE = EXCINV-ZEILE.
CRG23D-VBELN = XLIPS-VBELN.
CRG23D-POSNR = XLIPS-POSNR.
CRG23D-EXNUM = EXCINV-EXNUM.
CRG23D-EXYEAR = EXCINV-EXYEAR.
CRG23D-LIFNR = EXCINV-LIFNR.
CRG23D-MATNR = EXCINV-MATNR.
CRG23D-MAKTX = EXCINV-MAKTX.
CRG23D-CHAPID = EXCINV-CHAPID.
CRG23D-MEINS = EXCINV-MENGR_UOM.
CRG23D-WERKS = EXCINV-WERKS.
CRG23D-EXCUR = EXCINV-EXCUR.
CRG23D-RG23ASER = EXCINV-RG23ASER.
CRG23D-RG23CSER = EXCINV-RG23CSER.
CRG23D-RGPLASER = EXCINV-RGPLASER.
CRG23D-MENGR = EXCINV-MENGR.
CRG23D-MENGA = EXCINV-MENGA.
CRG23D-MENGE = EXCINV-MENGR. " Move the allocated Qty
CRG23D-EXBED = ( EXCINV-EXBED * CRG23D-MENGE ) / EXCINV-MENGA.
CRG23D-EXSED = ( EXCINV-EXSED * CRG23D-MENGE ) / EXCINV-MENGA.
CRG23D-EXAED = ( EXCINV-EXAED * CRG23D-MENGE ) / EXCINV-MENGA.
ENDFORM. " FILL_CRG23D
*& Form UPDATE_DOCUMENT
text *
--> p1 text
<-- p2 text
FORM UPDATE_DOCUMENT.
LOOP AT XLIPS.
UPDATE J_1IRG23D SET STATUS = 'P'
WHERE VBELN = XLIPS-VBELN
AND POSNR = XLIPS-POSNR.
ENDLOOP.
COMMIT WORK.
ENDFORM. " UPDATE_DOCUMENT
*& Form DELIVERY_START_USER_EXIT
text *
--> p1 text
<-- p2 text
FORM DELIVERY_START_USER_EXIT.
CALL FUNCTION 'J_1I7_USEREXIT_EXGRP_DETERM'
EXPORTING
EXCGRP = EXCGROUP
MBLNR =
MJAHR =
VENDOR =
VBELN = DELIVERY
IMPORTING
EXCGRP = EXCGROUP
SHIPFROM_IND = J1IJ300-SHIPFROM_IND
RG23D_SERIALNO = J1IJ300-RG23D_SERIALNO
EXCEPTIONS
OTHERS = 1.
CALL FUNCTION 'J_1I7_USEREXIT_SERGRP_DETERM'
EXPORTING
SRGRP = SERGROUP
MBLNR =
MJAHR =
VBELN = DELIVERY
IMPORTING
SRGRP = SERGROUP
EXCEPTIONS
OTHERS = 1.
ENDFORM. " DELIVERY_START_USER_EXIT
*& Form GENERATE_RG23D_SERIAL
text *
--> p1 text
<-- p2 text
FORM GENERATE_RG23D_SERIAL.
LOOP AT Z_1IRG23D WHERE MENGE <> 0.
CLEAR: FOLIO, SERIALNO.
SELECT MAX( FOLIO ) MAX( SERIALNO )
INTO (Z_1IRG23D-FOLIO, Z_1IRG23D-SERIALNO)
FROM J_1IRG23D
WHERE TRNTYP = Z_1IRG23D-TRNTYP
AND DOCNO = Z_1IRG23D-DOCNO
AND DOCYR = Z_1IRG23D-DOCYR
AND ZEILE = Z_1IRG23D-ZEILE.
MODIFY Z_1IRG23D.
ENDLOOP.
ENDFORM. " GENERATE_RG23D_SERIAL
*& Form GENERATE_EXCISE_INV_SERIAL
text *
--> p1 text
<-- p2 text
FORM GENERATE_EXCISE_INV_SERIAL.
CLEAR: DEPEXNUM, DEPEXYEAR.
CALL FUNCTION 'J_1I6_DETERMINE_EXC_YEAR'
EXPORTING
I_BUKRS = J1IJ300-BUKRS
IMPORTING
EXCISE_YEAR = DEPEXYEAR
EXCEPTIONS
MISS_COMPANY = 1
OTHERS = 2.
IF SY-SUBRC NE 0.
MESSAGE E526 WITH 'Company ' J1IJ300-BUKRS.
ENDIF.
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
NR_RANGE_NR = '01'
OBJECT = 'J_1IDEPINV'
QUANTITY = '1'
SUBOBJECT = SERGROUP
TOYEAR = DEPEXYEAR
IMPORTING
NUMBER = DEPEXNUM
EXCEPTIONS
INTERVAL_NOT_FOUND = 1
NUMBER_RANGE_NOT_INTERN = 2
OBJECT_NOT_FOUND = 3
QUANTITY_IS_0 = 4
QUANTITY_IS_NOT_1 = 5
INTERVAL_OVERFLOW = 6
OTHERS = 7.
CASE SY-SUBRC.
WHEN 0.
WHEN 1.
MESSAGE A336 WITH 'internal document' ': Interval not found'
'. Number object : J_1IDEPINV'.
WHEN 3.
MESSAGE A336 WITH 'internal document' ': Object not found'
'. Number object : J_1IDEPINV'.
WHEN OTHERS.
MESSAGE A336 WITH 'internal document'
'. Number object : J_1IDEPINV'.
ENDCASE.
Update Depot Excise Invoice Year and Number in the table
LOOP AT Z_1IRG23D.
Z_1IRG23D-SERIALNO = Z_1IRG23D-SERIALNO + 1.
Z_1IRG23D-DEPEXYEAR = DEPEXYEAR.
Z_1IRG23D-DEPEXNUM = DEPEXNUM.
MODIFY Z_1IRG23D.
ENDLOOP.
ENDFORM. " GENERATE_EXCISE_INV_SERIAL
*& Form UNLOCKING
text
--> p1 text
<-- p2 text
FORM UNLOCKING.
LOOP AT LOCKTAB.
CALL FUNCTION 'DEQUEUE_EJ_1IEXDTL'
EXPORTING
MODE_J_1IEXCDTL = 'S'
MANDT = SY-MANDT
TRNTYP = LOCKTAB-TRNTYP
DOCYR = LOCKTAB-DOCYR
DOCNO = LOCKTAB-DOCNO
ZEILE = LOCKTAB-ZEILE.
ENDLOOP.
ENDFORM. " UNLOCKING -
Jython error while updating a oracle table based on file count
Hi,
i have jython procedure for counting counting records in a flat file
Here is the code(took from odiexperts) modified and am getting errors, somebody take a look and let me know what is the sql exception in this code
COMMAND on target: Jython
Command on source : Oracle --and specified the logical schema
Without connecting to the database using the jdbc connection i can see the output successfully, but i want to update the oracle table with count. any help is greatly appreciated
---------------------------------Error-----------------------------
org.apache.bsf.BSFException: exception from Jython:
Traceback (innermost last):
File "<string>", line 45, in ?
java.sql.SQLException: ORA-00936: missing expression
---------------------------------------Code--------------------------------------------------
import java.sql.Connection
import java.sql.Statement
import java.sql.DriverManager
import java.sql.ResultSet
import java.sql.ResultSetMetaData
import os
import string
import java.sql as sql
import java.lang as lang
import re
filesrc = open('c:\mm\xyz.csv','r')
first=filesrc.readline()
lines = 0
while first:
#get the no of lines in the file
lines += 1
first=filesrc.readline()
#print lines
## THE ABOVE PART OF THE PROGRAM IS TO COUNT THE NUMBER OF LINES
## AND STORE IT INTO THE VARIABLE `LINES `
def intWithCommas(x):
if type(x) not in [type(0), type(0L)]:
raise TypeError("Parameter must be an integer.")
if x < 0:
return '-' + intWithCommas(-x)
result = ''
while x >= 1000:
x, r = divmod(x, 1000)
result = ",%03d%s" % (r, result)
return "%d%s" % (x, result)
## THE ABOVE PROGRAM IS TO DISPLAY THE NUMBERS
sourceConnection = odiRef.getJDBCConnection("SRC")
sqlstring = sourceConnection.createStatement()
sqlstmt="update tab1 set tot_coll_amt = to_number( "#lines ") where load_audit_key=418507"
sqlstring.executeQuery(sqlstmt)
sourceConnection.close()
s0=' \n\nThe Number of Lines in the File are ->> '
s1=str(intWithCommas(lines))
s2=' \n\nand the First Line of the File is ->> '
filesrc.seek(0)
s3=str(filesrc.readline())
final=s0 + s1 + s2 + s3
filesrc.close()
raise finali changed as you adviced ankit
am getting the following error now
org.apache.bsf.BSFException: exception from Jython:
Traceback (innermost last):
File "<string>", line 37, in ?
java.sql.SQLException: ORA-00911: invalid character
here is the modified code
sourceConnection = odiRef.getJDBCConnection("SRC")
sqlstring = sourceConnection.createStatement()
sqlstmt="update tab1 set tot_coll_amt = to_number('#lines') where load_audit_key=418507;"
result=sqlstring.executeUpdate(sqlstmt)
sourceConnection.close()
Any ideas
Edited by: Sunny on Dec 3, 2010 1:04 PM -
The currency is not getting updated in the table VBAP
Hi ,
The currency is not getting updated in the table VBAP. The currency was suppossed to be copied from the header table VBAK for a Sales Order. When the user creating a Sales Order the currency WAERK is not shown in VBAP table. VBAK-WAERk is in EUR . Does anyone know why is this happenning?
Currency is maintained in the Customer Master, Material Master and Sales Org. Any suggestions?.
Also it is happened for only one line item in a set of line items , Other line items did display the currency field.
The net Value has data in it .
The system is ECC 5.0
Regards,
SenthilDear Senthil,
Please apply the following notes (if they apply to your support pack level) and retest:
1460621 VBAP-WAERK is deleted after the sold-to party is changed
1426441 VBAP-WAERK deleted for subitems
1493998 VBAP-WAERK deleted for subitems
This should resolve the issue. I hope this helps.
Best regards,
Ian Kehoe -
Data is not getting updated in DB table
hi all
i am doing IDOC to jdbc scenario
i am triggering idoc from R/3 and the data is going into DB table
sender side: ZVendorIdoc
receiver side:
DT_testVendor
Table
tblVendor
action UPDATE_INSERT
access 1:unbounded
cVendorName 1
cVendorCode 1
fromdate 1
todate 1
Key
cVendorName 1
if i trigger idoc for example vendor 2005,2006 and 2010 data is getting updated in the table
but again if i trigger idoc for same vendor nos data does not get updated in DB table while message is successfull in moni and RWB both
plz suggest if any change need to be done to update the data
Regards
sandeep sharmaHi Ravi
you are right, vendor no is my key field . problem is when i send data again then it should Update the data but it's not updating the data again
i did on exp with this : i deleted all the record from the table and then triggered idoc for vendor 2005 , 2006,2010 after this data is updated in the table i deleted the rows for vendor no 2006 and 2010 and kept the row for vendor 2005
then i again trigered the idoc for vendor no 2005,2006 and 2010 now this should update and it should insert rows for vendor no 2006 and 2010 but i am surprised its not updating the data
Thanks
sandeep -
TDS amount not getting updated in the table under the field QBSHB
Dear Friends,
The TDS amount entered while booking the vendor invoices through MIRO T-cde, is not getting updated in the table BSEG under the field QBSHB.
Kindly let me know the reason for the same and guide me to correct it
TIA.
Regards,
VincentHI Vincent,
Bseg-QBSHB field is relavent for classic WT.
I hope you are using the EWT.
Hence if you post a document through MIRO it will not update
(but if you post document FB60 it will update but wrongly).
Reason is Miro document is posted through interface.
Hence SAP is suggested to not refer the Bseg-QBSHB and etc., fields.
refer only with_item table.
Please refer the below replay from SAP
Please refer the below note .363309
Please review attached note 363309 for detailed explanation
BSEG-QBSHB is designed to fill for the classic withholding tax. And
extended withholding tax information is stored exclusive in table
WITH_ITEM.
You can check in table BSEG for the fields and will find that system
do NOT update field BSEG-QBSHB.
In your line layout,you define a field BSEG-QBSHB. But actully the field
of vendor/customer line item is filled with zero from FI. Thus,it shows
zero in line item display.
And as note 363309 says,
"Remove the field which contains the withholding tax information
from your display variant.
If you want to display the withholding tax information, double-click on
the document number and subsequently choose 'Withholding tax' button."
(BSEG-QSSKZ, BSEG-QSSHB, BSEG-QBSHB) field is not relavent for
Extended withholding tax and not suppose to use in report FBL1N.
It basically does not make any sense to use the withholding tax fields
of the document line items (BSEG-QSSKZ, BSEG-QSSHB, BSEG-QBSHB) with the
activated extended withholding tax.
regards
Madhu M
Edited by: M Madhu on Jan 31, 2011 1:19 PM -
Can't update a sql-table with a space
Hello,
In a transaktion I'm getting some Values from a SAP-ERP System via JCO.
I update a sql-table with this values with a sql-query command.
But sometimes the values I get from SAP-ERP are empty (space) and I'm not able to update the sql-table because of a null-value exception. (The column doesn't allow null-values). It seems that MII thinks null and space are the same.
I tried to something like this when passing the value to the sql-query parameter but it didn't work:
stringif( Repeater_Result.Output{/item/SCHGT} == "X", "X", " ")
stringif( Repeater_Result.Output{/item/SCHGT} == "X", "X", " ")
this works but I don't want to have a "_"
stringif( Repeater_Result.Output{/item/SCHGT} == "X", "X", "_")
Any suggestions?
thank you.
MatthiasThe problem is Oracle doesn't know the space function. But it knows a similar function: NVL --> replaces a null value with something else. So this statement works fine for me:
update marc set
LGort = '[Param.3]',
dispo = '[Param.4]',
schgt = NVL('[Param.5]', ' '),
dismm = '[Param.6]',
sobsl = NVL('[Param.7]',' '),
fevor = '[Param.8]'
where matnr = '[Param.1]' and werks = '[Param.2]'
If Param.5 or Param.7 is null Oracle replaces it with a space in every other case it is the parameter itself.
Christian, thank you for your hint with the space function. So I remembered the NVL-function.
Regards
Matthias
Maybe you are looking for
-
Cannot open CR2 files in Elements 8 or Bridge
Hi, I hope someone can help me! I shoot in RAW, and have always edited my pictures in Camera RAW via Elements 8. I recently upgraded my old Dell to a new Mac, and now I'm having trouble. I cannot seem to open the RAW files in Elements, this is what I
-
Airport Express no longer joins network
Greetings, I have a cable modem internet connection; I use an older Airport Extreme (802.11n, without Time Capsule) to make a local wifi network with WPA2 Personal security, and an older Airport Express (802.11 b/g, firmware 6.3) to connect a laser p
-
Extremely urgent-file download issue
My problem is I hava tabular form with ATTACHMENTS(Select List), ID, Report_Name(linked to download the file). Report_Name has attribute to direct to the URL #OWNER#.download_my_file?p_file=#ID#&p_id=#ATTACHMENTS# ATTACHMENTS returns (1,2,3,4,5,6) re
-
how can i get ios 7 in my ipad 2? i have tried to update it but in my setting>general there is no icon for software update.so help me please!
-
Hey everyone, I'm having trouble logging into my iBook. I turn it on and it goes to the log on screen where I type in the password. It begins to load like normal then it goes back to the log on screen as if nothing happened. I know I'm entering the r