Need Rep to extrct Opn Sale Ords whch has diff Paymnt terms frm Cust Mast
Hi All,
I need code for a Report to extract the Open Sales Orders which has the different Payment Terms from Customer Master .Please help.
It's urgent.
Check out table VBFA and KNB1-ZTERM.
You need to see if there are any deliveries for the orders.
I think, you first need to get the zterm from customer master then retrieve all open sales orders from VBFA. Also check out VBUP for the item status.
Similar Messages
-
Sales office differ in header n cust.master how to get error message
hi all,
i have a problem regarding sales office. in our project we define branch offices as sales office in SAP.sales n deliveries will be done through branch office. for that we created branch office as plant as well as sales office. we assign sales groups to customers.when creating sales order we r entering S.O, D.C, DIV N sales office.when ever sales office differs from customer master and what we r entering at the time of sales order automatically system taking header sales office it is not considering customer master sales office. for our project if sales office differs system should give error message, should not allow the user to create sales order. i think u people can help me.
thanks in advanceHI Chanakya.,
In order we dont give the sales office as it is picked directly from the customer master record ,If your client pressurise for that requirement of error message ,contact your ABAPERS so that they can satisfy the requiement
REWARD if helpfull
Thanks & Regards
Narayana -
Field Sales Ord. is a required field
HI,
While doing 412 -e movement getting this error message
Field Sales Ord. is a required field for G/L account 1000 192006Hi,
I think the order movement you have selected must have some reference/reservation with it.
So whenever you select that particular movement, the order no. is essential.
This particularly happens for make to order production, where order is mandatory.
So just enter the order number in it, so the process gets completed.
Regards,
Siddharth. -
Urgent!!!Need code to fetch all sales order data and download to flat file
urgent!!!Need code to fetch all sales order data and download to flat file
D A T A B A S E T A B L E S *
TABLES: vbak, "Sales Document: Header Data
VBAP, "Sales Document: Item Data
MARA,VAPMA,VBPA,VBLB,VBEP,
VBKD. "Murali Poli .
I N T E R N A L T A B L E S *
Internal table to hold the Delphi material numbers file
DATA: BEGIN OF tbl_matnr OCCURS 0,
matnr LIKE mara-matnr, "Material number
END OF tbl_matnr.
Internal table to hold customer cross ref data
DATA: BEGIN OF TBL_CUST_SA OCCURS 0,
OLD_KUNNR LIKE KNA1-KUNNR, "Old Customer
OLD_VKORG LIKE A004-VKORG, "Old Sales organisation
OLD_VTWEG LIKE A004-VTWEG, "Old Distribution channel
NEW_KUNNR LIKE KNA1-KUNNR, "New Customer
NEW_VKORG LIKE A004-VKORG, "New Sales organisation
NEW_VTWEG LIKE A004-VTWEG, "New Distribution channel
PARVW LIKE VBPA-PARVW , "Partner function
END OF TBL_CUST_SA.
Internal table to check the material numbers of the input file
DATA: tbl_mara LIKE tbl_matnr OCCURS 0 WITH HEADER LINE.
Work area to hold the header record
DATA: BEGIN OF w_sa_header,
recordtype(1), "Record type
schedulingagreement(4), "SA Type
contractreference(10), "Contract Reference
salesorg(4), "Sales Organization
distrchannel(2), "Distribution channel
division(2), "Sales division
PONUMBER(35), "Purchase order number"gsbhondave
soldtoparty(12), "Sold-to party
shiptoparty(12), "Ship-to party
collectivenumber(10), "Collective number
description(40), "Description
roundqty(13), "Rounding Qty
pdsi(4), "PDI
correctiondeliverydate(8), "Correction Delivery Dt
correctionqty(13), "Correction Qty
cumulativereceivedqty(13), "Cumulative Received Qty
forecastdeliveryschedule(17), "Forecast Delivery Schedule
forecastdelscheddate(8), "Forecast Delivery Schedule Dt
jitdeliveryschedule(17), "JIT Delivery Schedule
jitdeliveryscheduledate(8), "JIT Delivery Schedule Dt
materialnumber(18), "Material number
plant(4), "Plant
item_category(4), "Item Category
suppliercode(15), "Supplier code
scac(4), "SCAC
deloc(12), "DELOC
pkg_id(12), "Packaging ID
catno(30), "Ultimate Cust Part
lgort(4), "Storage Location
vstel(4), "Shipping point
Adding fields by Murali Poli
VSBED(2), "Shipping conditions
INCO1(3), "Incoterms (part 1)
INCO2(28), "Incoterms (part 2)
ZECN(1), "Engineering Change Letter
End of Adding fields by Murali Poli
END OF w_sa_header.
Work area to hold the forecast record
DATA: BEGIN OF w_sa_forecast,
recordtype(1), "Record Type
dateformat(1), "Date format
forecastdate(8), "Forecast date
forecastorderqty(13), "Order Qty
END OF w_sa_forecast.
Work area to hold the jit record
DATA: BEGIN OF w_sa_jit,
recordtype(1), "Record Type
dateformat(1), "Date format
jitdate(8), "JIT date
jittime(6), "JIT Time
jitorderqty(13), "Order Qty
END OF w_sa_jit.
Internal table to hold the Extracted data
DATA: BEGIN OF tbl_record OCCURS 0,
record_type,
DATA(400), " changed from 325 to 400
END OF tbl_record.
Internal table to capture the errors
DATA: BEGIN OF tbl_error OCCURS 0,
error_text(135),
END OF tbl_error.
Internal table to hold the records of VBAP_VAPMA
DATA: BEGIN OF tbl_vbap_vapma OCCURS 0,
VBELN LIKE VAPMA-VBELN, "Sales and distribution document number
POSNR LIKE VAPMA-POSNR, "Item number
AUART LIKE VAPMA-AUART, "SA Type
VKORG LIKE VAPMA-VKORG, "Sales Organization
VTWEG LIKE VAPMA-VTWEG, "Distribution channel
SPART LIKE VAPMA-SPART, "Division
KUNNR LIKE VAPMA-KUNNR, "Sold-to
plavo like vbap-plavo, "PDI
MATNR LIKE VAPMA-MATNR, "Material number
WERKS LIKE VAPMA-WERKS, "Plant
TRVOG LIKE VAPMA-TRVOG, "Transaction group
VBTYP LIKE VBAK-VBTYP, "SD document category "Murali Poli
VSBED LIKE VBAK-VSBED, "Shipping conditions "Murali Poli
BSTNK LIKE VBAK-BSTNK, " Purchase order number " gsbhondave
KTEXT LIKE VBAK-KTEXT,
VGBEL LIKE VBAP-VGBEL, "Reference document no
ABLFZ LIKE VBAP-ABLFZ, "Rounding qty
PSTYV LIKE VBAP-PSTYV, "Item category
LGORT LIKE VBAP-LGORT, "Storage location
VSTEL LIKE VBAP-VSTEL, "Shipping point
END OF TBL_VBAP_VAPMA.
DATA: BEGIN OF TBL_VBAP OCCURS 0,
VBELN LIKE VAPMA-VBELN,
POSNR LIKE VAPMA-POSNR,
VGBEL LIKE VBAP-VGBEL,
ABLFZ LIKE VBAP-ABLFZ,
PSTYV LIKE VBAP-PSTYV,
LGORT LIKE VBAP-LGORT,
VSTEL LIKE VBAP-VSTEL,
END OF TBL_VBAP.
Adding by Murali Poli
DATA:BEGIN OF TBL_VBKD OCCURS 0,
VBELN LIKE VBKD-VBELN,
POSNR LIKE VBKD-POSNR,
INCO1 LIKE VBKD-INCO1,
INCO2 LIKE VBKD-INCO2,
END OF TBL_VBKD.
End by Murali Poli
Internal table to hold temporarily the records of VBAP_VAPMA
DATA: tbl_vbap_vapma_temp LIKE tbl_vbap_vapma OCCURS 0 WITH HEADER LINE.
Internal table to hold the records of VBPA
DATA: BEGIN OF tbl_vbpa OCCURS 0,
vbeln LIKE vbpa-vbeln, "Sales and distribution
"document number
posnr LIKE vbpa-posnr, "Item number
parvw LIKE vbpa-parvw, "SP Partner type
kunnr LIKE vbpa-kunnr, "Customer number
lifnr LIKE vbpa-lifnr, "SCAC code "DN3K923909
END OF tbl_vbpa.
Internal table to hold the records of VBLB (Forecast)
DATA: BEGIN OF tbl_vblb_forecast OCCURS 0,
vbeln LIKE vblb-vbeln,
posnr LIKE vblb-posnr,
abart LIKE vblb-abart, "Release type
abefz LIKE vblb-abefz, "Cumulative Quantity
"Received by Customer
labnk LIKE vblb-labnk, "Delivery schedule
abrdt LIKE vblb-abrdt, "Deivery date
gjkun LIKE vblb-gjkun, "Current fiscal year
vjkun LIKE vblb-vjkun, "Previous fiscal year
END OF tbl_vblb_forecast.
Internal table to hold the records of VBLB (JIT)
DATA: BEGIN OF tbl_vblb_jit OCCURS 0,
vbeln LIKE vblb-vbeln,
posnr LIKE vblb-posnr,
abart LIKE vblb-abart, "Release type
abefz LIKE vblb-abefz, "Cumulative Quantity
"Received by Customer
labnk LIKE vblb-labnk, "Delivery schedule
abrdt LIKE vblb-abrdt, "Deivery date
gjkun LIKE vblb-gjkun, "Current fiscal year
vjkun LIKE vblb-vjkun, "Previous fiscal year
END OF tbl_vblb_jit.
Internal table to hold the Forecast Schedule lines
DATA: BEGIN OF tbl_vbep_forecast OCCURS 0,
vbeln LIKE vbep-vbeln, "Sales document
posnr LIKE vbep-posnr, "Item number
etenr LIKE vbep-etenr, "Schedule line
edatu LIKE vbep-edatu, "Schedule line date
ezeit LIKE vbep-ezeit, "Arrival time "DN3K923909
wmeng LIKE vbep-wmeng, "Order quantity in sales units
prgrs LIKE vbep-prgrs, "Date type (day, week, month, interval)
abart LIKE vbep-abart, "Release type "DN3K923909
END OF tbl_vbep_forecast.
Internal table to hold the JIT Schedule lines
DATA: BEGIN OF tbl_vbep_jit OCCURS 0,
vbeln LIKE vbep-vbeln, "Sales document
posnr LIKE vbep-posnr, "Item number
etenr LIKE vbep-etenr, "Schedule line
edatu LIKE vbep-edatu, "Schedule line date
ezeit LIKE vbep-ezeit, "Arrival time
wmeng LIKE vbep-wmeng, "Order quantity in sales units
prgrs LIKE vbep-prgrs, "Date type (day, week, month, interval)
abart LIKE vbep-abart, "Release type "DN3K923909
END OF tbl_vbep_jit.
Internal table for Long texts
DATA: tbl_tline LIKE tline OCCURS 0 WITH HEADER LINE.
V A R I A B L E S *
DATA: v_count TYPE i,
V_REPID LIKE SY-REPID,
w_eins LIKE vbap-umvkz VALUE 1,
v_cumulative_deli_qty LIKE vblb-abefz,
v_text_name LIKE thead-tdname,
v_week LIKE scal-week,
v_count_h TYPE i, "Count of header records
v_count_f TYPE i, "Count of Forecast records
v_count_j TYPE i, "Count of JIT records
v_count_t TYPE i. "Count of Shipping instructions
TYPES: unixfile LIKE rlgrap-filename,
unixdir LIKE rlgrap-filename.
DATA: v_file1 TYPE unixfile,
v_file2 TYPE unixfile.
DATA: tbl_dynpfields LIKE dynpread OCCURS 0 WITH HEADER LINE.
*data tbl_cust_sa.
S E L E C T - O P T I O N S / P A R A M E T E R S *
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
Valid-to date
PARAMETER:
p_gueen like vbak-gueen obligatory,
Correction Delivery date
P_DELDT LIKE VBAK-GUEEN OBLIGATORY.
Begin of Changes - TIR-40266
Plant
SELECT-OPTIONS: s_werks FOR vbap-werks.
*SD document category
SELECT-OPTIONS: S_VBTYP FOR VBAK-VBTYP OBLIGATORY." Murali Poli
Sales organization
SELECT-OPTIONS: S_VKORG FOR VBAK-VKORG OBLIGATORY.
End of Changes - TIR-40266
SELECTION-SCREEN SKIP 1.
PARAMETER: r1 RADIOBUTTON GROUP rg1.
Material numbers file
PARAMETER: P_FILE1 LIKE RLGRAP-FILENAME.
PARAMETER: P_FILE6 LIKE RLGRAP-FILENAME.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(32) text-003.
SELECTION-SCREEN POSITION 33.
SD SA Extract file
PARAMETER: P_FILE2 LIKE RLGRAP-FILENAME
DEFAULT 'C:\sd_sa_extract.txt'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP 2.
PARAMETER: r2 RADIOBUTTON GROUP rg1.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(32) text-004.
SELECTION-SCREEN POSITION 33.
PARAMETER: p_path1 TYPE unixdir OBLIGATORY DEFAULT '/tmp/'.
SELECTION-SCREEN END OF LINE.
Material numbers file
PARAMETER: PU_FILE1 LIKE RLGRAP-FILENAME.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(32) text-003.
SELECTION-SCREEN POSITION 33.
SD SA Extract file
PARAMETER: PU_FILE2 LIKE RLGRAP-FILENAME.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(64) text-005.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b1.
A T S E L E C T I O N S C R E E N E V E N T S *
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file1.
v_repid = syst-repid.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
program_name = v_repid
CHANGING
file_name = p_file1
EXCEPTIONS
mask_too_long = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE e009.
Message shown as 'Error while getting the file name'
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE6.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
program_name = v_repid
CHANGING
FILE_NAME = P_FILE6
EXCEPTIONS
mask_too_long = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE e009.
Message shown as 'Error while getting the file name'
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file2.
v_repid = syst-repid.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
program_name = v_repid
CHANGING
file_name = p_file2
EXCEPTIONS
mask_too_long = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE e009.
Message shown as 'Error while getting the file name'
ENDIF.
AT SELECTION-SCREEN ON RADIOBUTTON GROUP rg1.
IF r1 = 'X'.
IF p_file1 = '' OR p_file2 = ''.
MESSAGE w000 WITH 'Please select a PC file'.
ENDIF.
LOOP AT SCREEN.
IF screen-name = 'P_FILE1' OR
screen-name = 'P_FILE2'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF r2 = 'X'.
PERFORM get_value USING 'P_PATH1' CHANGING p_path1.
PERFORM get_value USING 'PU_FILE1' CHANGING pu_file1.
PERFORM get_value USING 'P_PATH1' CHANGING p_path1.
PERFORM get_value USING 'PU_FILE2' CHANGING pu_file2.
IF pu_file1 = '' OR pu_file2 = ''.
MESSAGE w000 WITH 'Please select a UNIX file'.
LOOP AT SCREEN.
IF screen-name = 'PU_FILE1' OR
screen-name = 'PU_FILE2'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR pu_file1.
PERFORM get_value USING 'P_PATH1' CHANGING p_path1.
PERFORM get_value USING 'PU_FILE1' CHANGING pu_file1.
PERFORM popup_unix_filename CHANGING p_path1 pu_file1.
PERFORM set_value USING 'P_PATH1' p_path1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR pu_file2.
PERFORM get_value USING 'P_PATH1' CHANGING p_path1.
PERFORM get_value USING 'PU_FILE2' CHANGING pu_file2.
PERFORM popup_unix_filename CHANGING p_path1 pu_file2.
PERFORM set_value USING 'P_PATH1' p_path1.
T O P - O F - P A G E *
TOP-OF-PAGE.
PERFORM delphi_header(z_delphi_header_footer)
USING
'E & S SD SCHEDULING AGREEMENTS EXTRACT DATA'(016)
space
sy-linsz.
S T A R T - O F - S E L E C T I O N *
START-OF-SELECTION.
IF r1 = 'X'.
PERFORM upload_data_from_pc_files.
ELSEIF r2 = 'X'.
PERFORM upload_data_from_unix_files.
ENDIF.
PERFORM check_input_data.
PERFORM get_sd_sa_data.
E N D - O F - S E L E C T I O N *
END-OF-SELECTION.
PERFORM process_data.
S U B - R O U T I N E S *
*& Form get_value
FORM get_value USING value(p_fieldname)
CHANGING value(p_fieldvalue).
IF v_repid IS INITIAL.
v_repid = syst-repid.
ENDIF.
REFRESH: tbl_dynpfields.
CLEAR: tbl_dynpfields.
tbl_dynpfields-fieldname = p_fieldname.
APPEND tbl_dynpfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = v_repid
dynumb = '1000'
TABLES
dynpfields = tbl_dynpfields
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
OTHERS = 11.
IF syst-subrc = 0.
READ TABLE tbl_dynpfields INDEX 1.
p_fieldvalue = tbl_dynpfields-fieldvalue.
ENDIF.
REFRESH: tbl_dynpfields.
ENDFORM. " get_value
FORM POPUP_UNIX_FILENAME *
Pops up dialog box to explore the unix filesystem and select a file *
--> VALUE(P_PATH) Path where to start exploring from *
--> VALUE(P_FILENAME) Default filename in the dialog box *
FORM popup_unix_filename CHANGING value(p_path) TYPE unixdir
value(p_filename) TYPE unixfile.
DATA: v_length TYPE i,
v_filename TYPE unixfile,
v_directory LIKE draw-filep,
v_file LIKE draw-filep.
IF p_filename(1) = '/' OR
p_path IS INITIAL.
v_filename = p_filename.
ELSE.
v_length = strlen( p_path ) - 1.
IF p_path+v_length(1) <> '/'.
CONCATENATE p_path '/' INTO p_path.
ENDIF.
CONCATENATE p_path p_filename INTO v_filename.
ENDIF.
CALL FUNCTION 'Z_UNIX_FILENAME_GET'
EXPORTING
def_filename = v_filename
mask = ',*.'
mode = 'G'
title = 'Get UNIX file...'
IMPORTING
filename = v_filename
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
CHECK syst-subrc = 0.
CALL FUNCTION 'CV120_SPLIT_PATH'
EXPORTING
pf_path = v_filename
IMPORTING
pfx_path = v_directory
pfx_file = v_file
EXCEPTIONS
OTHERS = 1.
CHECK syst-subrc = 0.
IF v_directory = p_path.
p_filename = v_file.
ELSE.
p_filename = v_filename.
ENDIF.
ENDFORM.
FORM SET_VALUE *
Sets the value of a field on the selection screen. *
--> VALUE(P_FIELDNAME) Name of the field on the selection screen*
--> VALUE(P_FIELDVALUE) Value of the field *
FORM set_value USING value(p_fieldname)
value(p_fieldvalue).
IF v_repid IS INITIAL.
v_repid = syst-repid.
ENDIF.
CLEAR: tbl_dynpfields.
tbl_dynpfields-fieldname = p_fieldname.
tbl_dynpfields-fieldvalue = p_fieldvalue.
APPEND tbl_dynpfields.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = v_repid
dynumb = '1000'
TABLES
dynpfields = tbl_dynpfields
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
undefind_error = 7
OTHERS = 8.
ENDFORM.
*& Form upload_data_from_pc_files
This subroutine is used to upload the data from input files
FORM upload_data_from_pc_files.
REFRESH: tbl_matnr.
CLEAR: tbl_matnr.
Upload the data from Delphi Materials file
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = p_file1
filetype = 'DAT'
TABLES
data_tab = tbl_matnr
EXCEPTIONS
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
OTHERS = 10.
IF sy-subrc <> 0.
MESSAGE e008 WITH 'Materials file'.
Message shown as "Error while reading Materials file"
ENDIF.
IF sy-subrc = 0 AND tbl_matnr[] IS INITIAL.
MESSAGE e013 WITH 'Materials'.
Message shown as "No records found in Materials file"
ENDIF.
DELETE tbl_matnr WHERE matnr = ''.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
FILENAME = P_FILE6
filetype = 'DAT'
TABLES
DATA_TAB = TBL_CUST_SA
EXCEPTIONS
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
OTHERS = 10.
IF sy-subrc <> 0.
MESSAGE E008 WITH 'Customer/Sales Area Cross Reference file'.
Message shown as "Error while reading Materials file"
ENDIF.
ENDFORM. " upload_data_from_pc_files
*& Form upload_data_from_unix_files
This subroutine is used to upload the data from UNIX files
FORM upload_data_from_unix_files.
REFRESH: tbl_matnr.
CLEAR: tbl_matnr.
Get the complete filename for the Materials file
PERFORM get_full_filename USING pu_file1 CHANGING v_file1.
Open the Materials file
PERFORM open_dataset USING v_file1 'I' 'T' 1.
CHECK syst-subrc = 0.
Read the materials file
DO.
READ DATASET v_file1 INTO tbl_matnr.
IF syst-subrc <> 0.
EXIT.
ENDIF.
Populate the read data into the internal table
APPEND tbl_matnr.
ENDDO.
PERFORM close_dataset USING v_file1.
ENDFORM. " upload_data_from_unix_files
FORM GET_FULL_FILENAME *
Uses the logical path if necessary to get the full filename *
If the filename already has a directory specified, that itself will *
be the full filename *
Else the logical path for Conversions will be prefixed to the given *
filename *
FORM get_full_filename USING value(p_file) TYPE unixfile
CHANGING value(p_fullfile) TYPE unixfile.
DATA: v_length TYPE i.
IF p_file(1) = '/' OR
p_path1 IS INITIAL.
p_fullfile = p_file.
ELSE.
v_length = strlen( p_path1 ) - 1.
IF p_path1+v_length(1) = '/'.
CONCATENATE p_path1 p_file INTO p_fullfile.
ELSE.
CONCATENATE p_path1 '/' p_file INTO p_fullfile.
ENDIF.
ENDIF.
ENDFORM.
FORM OPEN_DATASET *
Opens dataset in the specified mode *
--> VALUE(P_FILE) Name of file to be opened *
--> VALUE(P_IOMODE) 'I' for Input / 'O' for Output *
--> VALUE(P_BTMODE) 'T' for Text / 'B' for Binary *
--> VALUE(P_LEVEL) If set to > 1, will write error message to *
list Else will supress the error message but *
will be available in SYST-MSGV1 *
FORM open_dataset USING value(p_file) TYPE unixfile
value(p_iomode) TYPE c
value(p_btmode) TYPE c
value(p_level) TYPE i.
DATA: v_rc LIKE syst-subrc,
v_msg(100),
v_listmsg(100).
IF p_iomode = 'O'.
IF p_btmode = 'B'.
OPEN DATASET p_file FOR OUTPUT IN BINARY MODE MESSAGE v_msg.
ELSE.
OPEN DATASET p_file FOR OUTPUT IN TEXT MODE MESSAGE v_msg.
ENDIF.
ELSE.
IF p_btmode = 'B'.
OPEN DATASET p_file FOR INPUT IN BINARY MODE MESSAGE v_msg.
ELSE.
OPEN DATASET p_file FOR INPUT IN TEXT MODE MESSAGE v_msg.
ENDIF.
ENDIF.
IF syst-subrc <> 0.
v_rc = syst-subrc.
syst-msgv1 = v_msg.
IF p_level > 0.
CONCATENATE 'Unable to open' p_file
INTO v_listmsg
SEPARATED BY space.
IF p_iomode = 'O'.
CONCATENATE v_listmsg 'for Output'
INTO v_listmsg
SEPARATED BY space.
ELSE.
CONCATENATE v_listmsg 'for Input'
INTO v_listmsg
SEPARATED BY space.
ENDIF.
IF p_iomode = 'B'.
CONCATENATE v_listmsg 'in Binary mode'
INTO v_listmsg
SEPARATED BY space.
ELSE.
CONCATENATE v_listmsg 'in Text mode'
INTO v_listmsg
SEPARATED BY space.
ENDIF.
WRITE: / v_listmsg.
WRITE: /3 '--', v_msg.
syst-subrc = v_rc.
ENDIF.
ENDIF.
ENDFORM.
FORM CLOSE_DATASET *
Closes dataset *
--> VALUE(P_FILE) Name of the file to be closed *
FORM close_dataset USING value(p_file) TYPE unixfile.
CLOSE DATASET p_file.
ENDFORM.
*& Form check_input_data
This subroutine is used to check the data from X Ref files
FORM check_input_data.
DESCRIBE TABLE tbl_matnr LINES v_count.
Use the material conversion routine to pad the material numbers
with zeroes
LOOP AT tbl_matnr.
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
EXPORTING
input = tbl_matnr-matnr
IMPORTING
output = tbl_matnr-matnr
EXCEPTIONS
length_error = 1
OTHERS = 2.
TRANSLATE tbl_matnr-matnr TO UPPER CASE.
MODIFY tbl_matnr.
ENDLOOP.
Get the materials from SAP database using the input materials
IF NOT tbl_matnr[] IS INITIAL.
SORT tbl_matnr BY matnr.
SELECT matnr FROM mara
INTO TABLE tbl_mara
FOR ALL ENTRIES IN tbl_matnr
WHERE matnr = tbl_matnr-matnr.
SORT tbl_mara BY matnr.
ENDIF.
Check the existence of input materials in SAP database
LOOP AT tbl_matnr.
READ TABLE tbl_mara WITH KEY matnr = tbl_matnr-matnr
BINARY SEARCH.
IF sy-subrc <> 0.
CONCATENATE 'Material' tbl_matnr-matnr 'does not exist'
INTO tbl_error-error_text
SEPARATED BY space.
APPEND tbl_error.
CLEAR tbl_error.
DELETE tbl_matnr.
ENDIF.
ENDLOOP.
ENDFORM. " check_input_data
*& Form get_sd_sa_data
This subroutine is used to get the SD Scheduling data from database
FORM get_sd_sa_data.
*begin of changes - DN3K923909
DATA: tbl_vbep LIKE tbl_vbep_forecast OCCURS 0 WITH HEADER LINE,
tbl_vblb LIKE tbl_vblb_forecast OCCURS 0 WITH HEADER LINE.
*end of changes - ND3K923909
REFRESH: tbl_vbap_vapma, tbl_vbpa, tbl_vblb_forecast,
tbl_vblb_jit, tbl_vbep_forecast, tbl_vbep_jit.
CLEAR: tbl_vbap_vapma, tbl_vbpa, tbl_vblb_forecast,
tbl_vblb_jit, tbl_vbep_forecast, tbl_vbep_jit.
Get the Scheduling Agreements
SELECT avbeln aposnr
a~vgbel
AAUART avkorg avtweg aspart a~kunnr
a~ablfz
A~MATNR
a~pstyv
a~werks
a~lgort
a~vstel
ATRVOG BVBTYP BVSBED BBSTNK B~KTEXT
FROM VAPMA AS A INNER JOIN VBAK AS B
ON bvbeln = avbeln
INTO TABLE tbl_vbap_vapma
FOR ALL ENTRIES IN tbl_mara
WHERE a~matnr = tbl_mara-matnr
Begin of Changes - TIR-40266
AND a~vkorg IN s_vkorg
AND a~werks IN s_werks
End of Changes - TIR-40266
AND A~TRVOG = '3'
AND B~VBTYP IN S_VBTYP. "Murali Poli
and a~abgru = ''
and b~gueen >= p_gueen.
SORT tbl_vbap_vapma BY vbeln posnr.
IF NOT tbl_vbap_vapma[] IS INITIAL.
SELECT VBELN POSNR VGBEL ABLFZ PSTYV LGORT VSTEL FROM VBAP
INTO TABLE TBL_VBAP FOR ALL ENTRIES IN TBL_VBAP_VAPMA
WHERE VBELN = TBL_VBAP_VAPMA-VBELN
AND POSNR = TBL_VBAP_VAPMA-POSNR.
LOOP AT TBL_VBAP_VAPMA.
READ TABLE TBL_VBAP WITH KEY VBELN = TBL_VBAP_VAPMA-VBELN
POSNR = TBL_VBAP_VAPMA-POSNR.
IF SY-SUBRC = 0 .
TBL_VBAP_VAPMA-VBELN = TBL_VBAP-VBELN.
TBL_VBAP_VAPMA-POSNR = TBL_VBAP-POSNR.
TBL_VBAP_VAPMA-VGBEL = TBL_VBAP-VGBEL.
TBL_VBAP_VAPMA-ABLFZ = TBL_VBAP-ABLFZ.
TBL_VBAP_VAPMA-PSTYV = TBL_VBAP-PSTYV.
TBL_VBAP_VAPMA-LGORT = TBL_VBAP-LGORT.
TBL_VBAP_VAPMA-VSTEL = TBL_VBAP-VSTEL.
MODIFY TBL_VBAP_VAPMA .
ENDIF.
ENDLOOP.
tbl_vbap_vapma_temp[] = tbl_vbap_vapma[].
*--Begin of UnCommentDIR-51476-DN3K932648
-------------- Begin of Comment ----------- CCR-50124 DN3K928457
SORT tbl_vbap_vapma_temp BY vbeln.
DELETE ADJACENT DUPLICATES FROM tbl_vbap_vapma COMPARING vbeln.
-------------- End of Comment ----------- CCR-50124 DN3K928457
*--End of UnCommentDIR-51476-DN3K932648
*--Begin of CommentDIR-51476-DN3K932648
-------------- Begin of Insert ----------- CCR-50124 DN3K928457
Duplicate Line Items are being deleted.
SORT tbl_vbap_vapma BY vbeln posnr.
DELETE ADJACENT DUPLICATES FROM tbl_vbap_vapma COMPARING vbeln posnr.
The field for contract in SA is being modified for uniqueness
loop at tbl_vbap_vapma.
clear: v_vgbel, v_posnr.
v_vgbel = tbl_vbap_vapma-vgbel.
v_posnr = tbl_vbap_vapma-posnr.
if not v_vgbel is initial .
shift v_vgbel left deleting leading v_zero.
shift v_posnr left deleting leading v_zero.
v_posnr = v_posnr / 10.
condense: v_vgbel, v_posnr.
if v_posnr le 9.
concatenate v_vgbel '0' v_posnr into v_vgbel.
else.
concatenate v_vgbel v_posnr into v_vgbel.
endif.
endif.
tbl_vbap_vapma-vgbel = v_vgbel.
modify tbl_vbap_vapma.
endloop.
-------------- End of Insert ----------- CCR-50124 DN3K928457
*--End of CommentDIR-51476-DN3K932648
Get the Partner details
select vbeln posnr parvw kunnr
*Start of Murali Poli
SELECT VBELN POSNR INCO1 INCO2
INTO TABLE TBL_VBKD
FROM VBKD
FOR ALL ENTRIES IN TBL_VBAP_VAPMA
WHERE VBELN = TBL_VBAP_VAPMA-VBELN.
and posnr = tbl_vbap_vapma-posnr.
*End of Murali Poli
SELECT vbeln posnr parvw kunnr lifnr "DN3K923909
INTO TABLE tbl_vbpa
FROM vbpa
FOR ALL ENTRIES IN tbl_vbap_vapma_temp
WHERE vbeln = tbl_vbap_vapma_temp-vbeln
AND parvw IN ('WE', 'SP').
*begin of changes - DN3K923909
select vbeln posnr abart abefz labnk abrdt gjkun vjkun
into table tbl_vblb_forecast
from vblb
for all entries in tbl_vbap_vapma
where vbeln = tbl_vbap_vapma-vbeln
and posnr = tbl_vbap_vapma-posnr
and abrli = '0000'
and abart = '1'.
SELECT vbeln posnr abart abefz labnk abrdt gjkun vjkun
INTO TABLE tbl_vblb
FROM vblb
FOR ALL ENTRIES IN tbl_vbap_vapma
WHERE vbeln = tbl_vbap_vapma-vbeln
AND posnr = tbl_vbap_vapma-posnr
AND abrli = '0000'
AND abart IN ('1','2').
SELECT vbeln posnr etenr edatu ezeit wmeng prgrs abart
INTO TABLE tbl_vbep
FROM vbep
FOR ALL ENTRIES IN tbl_vbap_vapma
WHERE vbeln = tbl_vbap_vapma-vbeln
AND posnr = tbl_vbap_vapma-posnr
AND abart IN ('1','2').
Get the current Forecast delivery schedule
tbl_vblb_forecast[] = tbl_vblb[].
DELETE tbl_vblb_forecast WHERE abart = '2'.
Get the current Forecast Schedule lines
tbl_vbep_forecast[] = tbl_vbep[].
DELETE tbl_vbep_forecast WHERE abart = '2'.
Get the current JIT delivery Schedule
select vbeln posnr abart abefz labnk abrdt gjkun vjkun
into table tbl_vblb_jit
from vblb
for all entries in tbl_vbap_vapma
where vbeln = tbl_vbap_vapma-vbeln
and posnr = tbl_vbap_vapma-posnr -
I need to split 2 different sales taxes to 2 separate GL Accounts
On a customer sales order, I have a need to split two different sales taxes for a single lineitem to two different General Ledger (GL) accounts. I know that a sales tax code (2 digit) is defined on the UTXJ pricing condition and that this tax code in combination with the account key associated with the tax type is used to determine the GL account to be used. However, in all of my current business situations, all taxes (state, city, and local) get posted to the same GL account as there doesn't appear to be a way to control the tax code at an individual tax pricing condition level. Has anyone been able to do this?
Here's my example:
Order 123, lineitem 1 has a JR1 tax pricing condition. The main UTXJ pricing condition contains a CX sales tax code. It should get posted to GL account GL001.
Order 123, lineitem 2 also has a JR2 tax pricing condition. The UTXJ pricing condition (from above) contains a CX tax code. However, it should get posted to GL account GL002.
Any help would be appreciated. Thanks.Hi Friend
Then in order 123 in the line-item 1 say the material is a finished material , so your will be doing sales cycle OR->LF->F2
Then in order 123 in the line-item 2 say the material is a Trading material , so your will be doing ME21N->MIGO->MIRO->BILLING
So even though you assign CX tax code it gets posted to G/L account GL001. But even though the lineitem 2 has CX tax code it will be posted to G/L account GL002 because you will be assigning the stock in OBYC
Regards
Srinath -
Sales Ord assignment on Prod Ord component
Experts,
I have a situation, where in a previously created MTO Sales Order had its receipts deleted & now I want to create a manual production order with the Sales Order assignment (CO08). When I add a component & try to make it Sales Ord assigned, it works fine as long as the component's material master carries a 1 or a blank indicator on the MRP 4 Ind/Coll field. If its collective, system does not accept the SO entry on the Prodn Ord.
However, when I try to create a Prod Ord (CO01), no matter what, the system does not allow me to enter a Sales Order on any component. Is it possible to influence this behavior some way?
ThanksAndy,
?? What behavior do you seek?
CO01 creates a production order without reference to a sales order. It would make no sense to assign components to a sales order, and this is not supported.This behavior cannot be altered in standard SAP. Sales orders are irrelevant.
CO08 creates a production order with reference to a sales order. Components' assignment is dependent on the settings in the Material Master of the component. This behavior cannot be altered in standard.SAP.
What behavior do your seek?
Best regards,
DB49 -
I need copy fields below using sales flow (VA, VL, VF, J1B3N to printer DAN
Help me!!
I need copy fields below using sales flow (VA, VL, VF, J1B3N to DANFE form)
How to copy the field VBAP-VOLUM to the field J_1BDYDOC-SHPMRK and
How to copy the field VBAP-VOLEH to the field J_1BDYDOC-SHPNUM, to DANFE form)
Best regards,
WilsonHi,
J_1BDYDOC this is structure table here you didn't get the values of required field's.
Try with J_1BNFDOC table instead of J_1BDYDOC.
Regards
Ram -
I have an iphone 3g I tried to down load an app for netflix and it said I need to have ISO 5 but my phone has ISO 4.2.1 and when I try to update it on my computer through itunes I get message saying I have current version how or what can I do do to get an app the lets me watch netflix on my iphone 3g .Is there an sulision to my problem? I also tried another app with another name diff from netflix and I got the same message saying i need ISO 5 .Someone please help thank you
Thank you for your help are you aware of any apps that will work the iso 4.2.1 system that will let you watch movies on the phone. Also I tried to down load something else the other day and got message that Safari wont let you open this is ther any to see if i have the latest safari on my phone?
-
I have just upgraded to Mavericks and have been using Time Machine on an external disk with Snow Leopard. Can I continue to backup with Time Machine on the same external disk or do I need a new disk since the operating system has changed?
Hi there,
I found that Time Machine in Mavericks will sort it all out for you. You shouldn't need to buy another backup drive, unless you have insufficient space left and can't afford to delete whats on there. It should just work fine. -
Help need my mac pro for school..it has Grey screen..spinning wheel...
I think I have mountain lion OS X....I have done I think almost every suggestion I've seen in discussion boards.
Boot in recovery repaired disk...ok...repair disk permission...all repaired but one warning...I've tried to reinstall lion (without losing data) and it Got all the way to one minute to be done and then the time change back two hours and kept doing this all night long. I haven't done a back up due to no external for time machine.
I hope someone can please help me I've been going crazy for a week now trying to figure this out. I use my computer for school and I'm currently very behind from in my school work thank you
Also I've checked my available space 424.91 free of 750 gigs....disk is verifiedWelcome to the Apple Support Communities
Try holding the Shift key while your Mac is starting to start into safe mode. Then, after starting in safe mode, open Finder, select Go menu (on the menu bar) > Go to Folder, and type /Library/StartupItems. Then, empty this folder and restart the Mac.
If your Mac starts after doing this, it was a problem with a third-party app that starts automatically when you turn on the computer. It won't start automatically anymore after doing that -
Everytime I try to purchase Mountain lion from the App store it tells me that iTunes has changed their terms and agreements, in order to proceed I need to read and agree to them, yet no pop up window appears to do just that!!
http://www.apple.com/support/mac/app-store/contact.html?form=account
-
How to check the sales order that has been PGI from a range of dates.
Hi SAP Gurus,
I have a query on how can I check the sales order that has been PGI from a range of dates in SAP?
Thanks,
MadelynDear Madelyn
Go to VA05, give the date range and execute. List of sale orders will be generated. There you can see a tab "Status" in which, the status would be like
- Not delivered
- Partially delivered
So based on this, you can decide whether the order is still open or completed.
thanks
G. Lakshmipathi -
Need help in laoding flat file data, which has \r at the end of a string
Hi There,
Need help in loading flat file data, which has \r at the end of a string.
I have a flat file with three columns. In the data, at the end of second column it has \r. So because of this the control is going to the beginning of next line. And the rest of the line is loading into the next line.
Can someone pls help me to remove escape character \r from the data?
thanks,
ragHave you looked into the sed linux command? here are some details:
When working with txt files or with the shell in general it is sometimes necessary to replace certain chars in existing files. In that cases sed can come in handy:
1 sed -i 's/foo/bar/g' FILENAME
The -i option makes sure that the changes are saved in the new file – in case you are not sure that sed will work as you expect it you should use it without the option but provide an output filename. The s is for search, the foo is the pattern you are searching the file for, bar is the replacement string and the g flag makes sure that all hits on each line are replaced, not just the first one.
If you have to replace special characters like a dot or a comma, they have to be entered with a backslash to make clear that you mean the chars, not some control command:
1 sed -i 's/./,/g' *txt
Sed should be available on every standard installation of any distribution. At lesat on Fedora it is even required by core system parts like udev.
If this helps, mark as correct or helpful. -
Sales tax data in the posting term is not consistent (Real Estate Contract)
Hi Experts ,
getting the following error in while creating a "Rental Contract" through the T. Code RECN while trying to enter data in the " Conditions" tab page of the contract . Have made all the entries in in the Posting Parameters tab ( e.g. Payment Method ,House Bank ,House Bank Acct ,Bank Details ,Tax Type ,Tax Group) but still getting this error
ERROR MESSAGE
Sales tax data in the posting term is not consistent
Message no. RECD076
Diagnosis
The sales tax data in the posting term is inconsistent.
Procedure
Switch to maintenance of posting terms and correct all errors that are shown there.
Please help ....Hi Ananda.
What did you do to resolved this problem?
Could you help?
Tks
Lucas -
I need to reinstall CS5 on a machine that has had to be reformatted, i need a Support Code after obtaining the Challenge Code. My email address is <removed - kglad>
Please help<moved from Adobe Creative Cloud to Downloading, Installing, Setting Up>
use your serial number to activate. if you cannot connect to adobe's server's to activate, Sign in, activation, or connection errors | CS5.5 and later
Maybe you are looking for
-
Reader in safari 5.1 Lion
I've noticed that when I enter the reader on safari 5.1 for Lion, it doesn't remember the font size. I like to read articles on the maximum font size. But when I go into another article it sometimes goes back down to the small size. Has anyone else e
-
Disk utility error when erasing an external hard drive
Hi, Not sure if this is the most appropriate fourm list to post this but I thought I'd give it a try. I am running snow leopard on my MBP and am trying to use disk utility to erase and format an ext. HD. While the disk icon does not show up on the d
-
.mov burned but won't play in DVD player
No problem with previous 4 burns 6 months ago iMovie 5.0.2- Toast Titanium 6.1 I have burned DVD in DVDVCPRO-NTSC and DVCPRO50 - NTSC and neither will play on my (old) DVD player. Problems is this is to be shown for a wedding Sat., I leave in the a.m
-
Export Apple Mail Emails & Sub Folders to Outlook 2011 for Mac
Hello, Could somebody please tell me how I go about exporting emails and the subfolders I have created from Apple Mail over to Microsoft Outlook 2011. Can you also please advise if I am able to add these emails into an existing Main Identity? Any hel
-
Htmlb:imageMap-not recognising areaType attribute
Hi, I am trying to display an image with an imageMap, <hbj:link id="linkID" reference="http://www.yahoo.com" /> <hbj:imageMap id="imageMap"> <hbj:imageArea areaType="CIRCLE" coordinates="100,20,30" link="