Check my coding
Hello Everybody,
Please check my coding & solved my error.
CREATE OR REPLACE PACKAGE BODY DISA_OWNER.PS_MDM_STAGING_COLOR_C
IS
NAME: PS_MDM_INTERFACE_COLOR_C
PURPOSE: The package is used to process Merchandise Hierarchy into
DISA.XREF_LEGACY_GOLD_SUB_DEPT, DISA.XREF_LEGACY_GOLD_SUB_CLASS
and GOLD.INTOBJ
REVISIONS:
Ver Date Author Description
1.0 06/15/2011 Chada Changchit Created this package body.
-- Global constants
gk_package_name CONSTANT VARCHAR2(30) := 'ps_mdm_staging_color_c';
-- Log information
lr_run_log_rec run_log%ROWTYPE;
ln_run_log_id run_log.run_log_id%TYPE;
ln_end_log_status NUMBER;
lr_error_log_rec error_log%ROWTYPE DEFAULT NULL;
v_log_success disa_params.char_val%TYPE := get_param_char ('RUN LOG SUCCESS');
v_log_failure disa_params.char_val%TYPE := get_param_char ('RUN LOG FAILURE');
BEGIN
PROCEDURE process_all
IS
NAME: PROCESS_ALL (Procedure)
PURPOSE: This is the driving procedure for processing Merchandise Hierarchy
into DISA.XREF_LEGACY_GOLD_SUB_DEPT, DISA.XREF_LEGACY_GOLD_SUB_CLASS
and GOLD.INTOBJ based on AUDIT_STATUS.
REVISIONS:
Ver Date Author Description
1.0 06/15/2011 Chada Changchit Created this procedure.
-- Log information (seperate from package variables)
lra_run_log_rec run_log%ROWTYPE;
lna_run_log_id run_log.run_log_id%TYPE;
lna_end_log_status NUMBER;
lra_error_log_rec error_log%ROWTYPE DEFAULT NULL;
BEGIN
-- Set Run Log ID
BEGIN
lra_run_log_rec.module_name := 'PS_MDM_INTERFACE_COLOR_C.PROCESS_ALL';
lra_error_log_rec.specific_location := 'Creating RUN_LOG entry';
lna_run_log_id := ps_disa_log_util.log_run_start (lra_run_log_rec);
EXCEPTION
WHEN OTHERS THEN
RAISE;
END;
-- Load and process class
lra_error_log_rec.specific_location := 'Load and process class';
load_color;
-- Log Successful Run
lra_run_log_rec.end_code := v_log_success;
lna_end_log_status := ps_disa_log_util.log_run_end (lra_run_log_rec);
COMMIT;
EXCEPTION
WHEN OTHERS THEN
-- Set error Codes for Logging
lra_error_log_rec.run_log_id := lna_run_log_id;
lra_error_log_rec.module_name := lra_run_log_rec.module_name;
lra_run_log_rec.end_code := v_log_failure;
-- This line is used to notify the shell script of a failure.
DBMS_OUTPUT.put_line ('FAILED');
IF lra_error_log_rec.error_code IS NULL THEN
lra_error_log_rec.error_code := SQLCODE;
END IF;
IF lra_error_log_rec.error_text IS NULL THEN
lra_error_log_rec.error_text := substr (SQLERRM, 1, 255);
END IF;
IF lra_error_log_rec.specific_location IS NULL THEN
lra_error_log_rec.specific_location := 'When Others';
END IF;
-- Log Error
disa_err.handler (lra_error_log_rec,
pb_logerr => TRUE,
pb_reraise => TRUE,
pb_mark_end => TRUE
END process_all;
PROCEDURE load_COLOR_C
IS
NAME: load_prod_division (Procedure)
PURPOSE: This is the driving procedure for loading prod_division into
DISA.mdm_staging_proddiv_c staging table.
REVISIONS:
Ver Date Author Description
1.0 06/15/2011 Chada Changchit Created this procedure.
v_audit_log_id audit_log.audit_log_id%TYPE;
v_parent mdm_staging_proddiv_c.object_parent%TYPE;
v_line_seq INTEGER := 1;
CURSOR prod_COLOR_cur IS
SELECT color_code, color_desc
FROM item_COLOR;
CURSOR filter_prod_COL_cur IS
SELECT prod_COLOR_FILE_TYPE, prod_COLOR_AUDIT_STATUS
FROM product_COLOR_mst
WHERE prod_COLOR_FILE_TYPE in (0, 10);
BEGIN
TMR.CAPTURE(1);
dbms_output.put_line('load_prod_COLOR began.');
-- Set Run Log ID
BEGIN
v_audit_log_id := ps_disa_audit.create_audit_log('ITEM_COLOR', 'COLOR', null,
null, null, ps_disa_audit.FILE_LOADING);
lr_run_log_rec.module_name := 'PS_MDM_INTERFACE_COLOR_C.LOAD_AUDIT_STATUS(' ||
v_audit_log_id || ')';
lr_error_log_rec.specific_location := 'Creating RUN_LOG entry';
ln_run_log_id := ps_disa_log_util.log_run_start (lr_run_log_rec);
EXCEPTION
WHEN OTHERS THEN
RAISE;
END;
SAVEPOINT load_AUDIT_STATUS_savepoint;
-- Load prod_division into mdm_staging_proddiv_c table
lr_error_log_rec.specific_location := 'Load prod_COLOR into DISA.mdm_staging_COLOR_C table.';
FOR pd_rec IN prod_color_cur LOOP
INSERT INTO mdm_staging_color_c(AUDIT_LOG_ID, LINE_SEQ, STAGING_STATUS_ID, COLOR_CODE, COLOR_DES)
VALUES (v_audit_log_id, v_line_seq, PS_DISA_STAGING.PROCESSING, pd_rec.COLOR_CODE, pd_rec.COLOR_DEC);
v_line_seq := v_line_seq + 1;
END LOOP;
END load_color_c;
PROCEDURE process_COLOR_C (
p_audit_log_id IN audit_log.audit_log_id%TYPE
IS
NAME: process_prod_division (Procedure)
PURPOSE: This is the driving procedure for processing prod_division into
GOLD.INTOBJ interface table.
REVISIONS:
Ver Date Author Description
1.0 06/15/2011 Chada Changchit Created this procedure.
v_rec_count INTEGER;
BEGIN
TMR.CAPTURE(2);
dbms_output.put_line('process_color_c began.');
-- Set Run Log ID
BEGIN
PS_DISA_AUDIT.set_audit_log_status(p_audit_log_id, ps_disa_audit.DATA_INTERFACING);
lr_run_log_rec.module_name := 'PS_MDM_INTERFACE_COLOR_C.PROCESS_PROD_COLOR(' ||
p_audit_log_id || ')';
lr_error_log_rec.specific_location := 'Creating RUN_LOG entry';
ln_run_log_id := ps_disa_log_util.log_run_start (lr_run_log_rec);
EXCEPTION
WHEN OTHERS THEN
RAISE;
END;
SAVEPOINT process_pd_savepoint;
-- count the number of records we expect to insert
lr_error_log_rec.specific_location := 'Count records.';
SELECT COUNT(*)
INTO v_rec_count
FROM mdm_staging_color_c
WHERE audit_log_id = p_audit_log_id
AND staging_status_id = PS_DISA_STAGING.PROCESSING;
-- Interface into GOLD.
lr_error_log_rec.specific_location := 'Process prod_color into GOLD.INTOBJ table.';
INSERT INTO INTVARIANTE
(VAFTYPEX,VAFUAREX,VAFCDI,VAFVALEX,VAFCIS,VAFLANGUE,VAFLIBC,VAFLIBL.VAFACT,VAFFLAG,VAFLGFI,VAFTRT,VAFDTRT,VAFDCRE,VAFDMAJ,VAFUTIL,VAFFICH,VAFNLIG,VAFNERR,VAFMESS)
SELECT PROD_COLOR_CODE, --OBFCEXTIN Object interface #
COLOR_DES --OBFCEXT Object #
1, --OBFIDSTR Merchandise structure #
2, --OBFIDNIV Object depth
'US', --OBFLANGUE Language #
DESCRIPTION, --OBFODESC Object description
OBJECT_PARENT, --OBFCEXTINP Parent interface #
1, --OBFPRINT Visible or hidden level
TO_DATE('01/01/2011', 'mm/dd/yyyy'), --OBFDDEB Link start date
5, --OBFFLAG Flag
v_rec_count, --OBFLGFI File total number of lines
0, --OBFTRT Processing indicator
TRUNC(sysdate), --OBFDTRT Processing date
sysdate, --OBFDCRE Date of creation
sysdate, --OBFDMAJ Date of last update
'PROD_COLOR', --OBFUTIL Last user
'PROD_COLOR_'||AUDIT_LOG_ID, --OBFFICH Filename
LINE_SEQ, --OBFNLIG File line #
null, --OBFNERR Error message #
null, --OBFMESS Error message
TO_DATE('12/31/2049', 'mm/dd/yyyy') --OBFDFIN Link end date
FROM mdm_staging_color_c
WHERE audit_log_id = p_audit_log_id
AND staging_status_id = PS_DISA_STAGING.PROCESSING;
-- Mark the interfaced item as processed.
lr_error_log_rec.specific_location := 'Mark prod_division items as processed.';
UPDATE mdm_staging_color_c
SET staging_status_id = PS_DISA_STAGING.PROCESSED
WHERE audit_log_id = p_audit_log_id AND
staging_status_id = PS_DISA_STAGING.PROCESSING;
PROCEDURE load_color
IS
NAME: load_dept (Procedure)
PURPOSE: This is the driving procedure for loading department into
DISA.mdm_staging_dept_c staging table.
REVISIONS:
Ver Date Author Description
1.0 06/15/2011 Chada Changchit Created this procedure.
v_audit_log_id audit_log.audit_log_id%TYPE;
v_line_seq INTEGER := 1;
-- Load department into mdm_staging_dept_c table
lr_error_log_rec.specific_location := 'Load department into DISA.mdm_staging_color_c table.';
FOR dept_rec IN color_ccur LOOP
INSERT INTO mdm_staging_color_c(AUDIT_LOG_ID, LINE_SEQ, STAGING_STATUS_ID, COLOR_CODE, COLOR_DEC)
VALUES (v_audit_log_id, v_line_seq, PS_DISA_STAGING.PROCESSING, COLOR_CODE,COLOR_DEC);
v_line_seq := v_line_seq + 1;
END LOOP;
PROCEDURE process_color (
p_audit_log_id IN audit_log.audit_log_id%TYPE
IS
NAME: process_dept (Procedure)
PURPOSE: This is the driving procedure for processing department into
GOLD.INTOBJ interface table.
REVISIONS:
Ver Date Author Description
1.0 06/15/2011 Chada Changchit Created this procedure.
v_rec_count INTEGER;
BEGIN
TMR.CAPTURE(4);
dbms_output.put_line('process_dept began.');
-- Set Run Log ID
BEGIN
PS_DISA_AUDIT.set_audit_log_status(p_audit_log_id, ps_disa_audit.DATA_INTERFACING);
lr_run_log_rec.module_name := 'PS_MDM_INTERFACE_COLOR_C.PROCESS_COLOR(' ||
p_audit_log_id || ')';
lr_error_log_rec.specific_location := 'Creating RUN_LOG entry';
ln_run_log_id := ps_disa_log_util.log_run_start (lr_run_log_rec);
EXCEPTION
WHEN OTHERS THEN
RAISE;
END;
SAVEPOINT process_dept_savepoint;
-- count the number of records we expect to insert
lr_error_log_rec.specific_location := 'Count records.';
SELECT COUNT(*)
INTO v_rec_count
FROM mdm_staging_color_c
WHERE audit_log_id = p_audit_log_id
AND staging_status_id = PS_DISA_STAGING.PROCESSING;
-- Interface into GOLD.
lr_error_log_rec.specific_location := 'Process department into GOLD.INTOBJ table.';
-- Mark the interfaced item as processed.
lr_error_log_rec.specific_location := 'Mark department items as processed.';
UPDATE mdm_staging_color_c
SET staging_status_id = PS_DISA_STAGING.PROCESSED
WHERE audit_log_id = p_audit_log_id AND
staging_status_id = PS_DISA_STAGING.PROCESSING;
-- Set Run Log ID
BEGIN
v_audit_log_id := ps_disa_audit.create_audit_log('COLOR_CODE', 'COLOR_DEC', null,
null, null, ps_disa_audit.FILE_LOADING);
lr_run_log_rec.module_name := 'PS_MDM_INTERFACE_COLOR_C.LOAD_SUB_DEPT(' ||
v_audit_log_id || ')';
lr_error_log_rec.specific_location := 'Creating RUN_LOG entry';
ln_run_log_id := ps_disa_log_util.log_run_start (lr_run_log_rec);
EXCEPTION
WHEN OTHERS THEN
RAISE;
END;
SAVEPOINT load_color_savepoint;
END LOOP;
FOR filter_subdept_rec IN filter_subclass_cur LOOP
INSERT INTO mdm_staging_subclass_c(AUDIT_LOG_ID, LINE_SEQ, STAGING_STATUS_ID, COLOR_CODE,COLOR_DEC)
VALUES (v_audit_log_id, v_line_seq, PS_DISA_STAGING.FILTERED, COLOR_CODE,COLOR_DECL);
v_line_seq := v_line_seq + 1;
END LOOP;
PROCEDURE process_COLOR_C (
p_audit_log_id IN audit_log.audit_log_id%TYPE
IS
NAME: process_sub_dept (Procedure)
PURPOSE: This is the driving procedure for processing sub-department into
GOLD.INTOBJ interface table.
REVISIONS:
Ver Date Author Description
1.0 06/15/2011 Chada Changchit Created this procedure.
v_rec_count INTEGER;
BEGIN
TMR.CAPTURE(6);
dbms_output.put_line('process_color began.');
-- Set Run Log ID
BEGIN
PS_DISA_AUDIT.set_audit_log_status(p_audit_log_id, ps_disa_audit.DATA_INTERFACING);
lr_run_log_rec.module_name := 'PS_MDM_INTERFACE_COLOR_C.PROCESS_COLOR(' ||
p_audit_log_id || ')';
lr_error_log_rec.specific_location := 'Creating RUN_LOG entry';
ln_run_log_id := ps_disa_log_util.log_run_start (lr_run_log_rec);
EXCEPTION
WHEN OTHERS THEN
RAISE;
END;
SAVEPOINT process_color_savepoint;
-- Merge sub-department into DISA.xref_legacy_gold_sub_dept table
lr_error_log_rec.specific_location := 'Merge sub-department into DISA.xref_legacy_gold_color table.';
MERGE INTO xref_legacy_gold_color
USING (
SELECT COLOR_CODE,COLOR_DES;
FROM mdm_staging_color_c
WHERE staging_status_id = PS_DISA_STAGING.PROCESSING
) a
ON(xref_legacy_gold_color.color_code= a.color_code)
WHEN NOT MATCHED THEN
INSERT (COLOR_CODE,COLOR_DEC) VALUES (a.COLOR_CODE, a.COLOR_DEC)
WHEN MATCHED THEN
UPDATE SET
COLOR_CODE = a.COLOR_CODE,
LAST_UPDATE_SOURCE = user,
LAST_UPDATE_DATE = sysdate;
-- count the number of records we expect to insert
lr_error_log_rec.specific_location := 'Count records.';
SELECT COUNT(*)
INTO v_rec_count
FROM mdm_staging_color_c
WHERE audit_log_id = p_audit_log_id
AND staging_status_id = PS_DISA_STAGING.PROCESSING;
PROCEDURE load_color
IS
NAME: load_clolor(Procedure)
PURPOSE: This is the driving procedure for loading class into
DISA.mdm_staging_color_c staging table.
REVISIONS:
Ver Date Author Description
1.0 06/15/2011 Chada Changchit Created this procedure.
v_audit_log_id audit_log.audit_log_id%TYPE;
v_line_seq INTEGER := 1;
CURSOR color_cur IS
SELECT DISTINCT a.color_code, a.color_des, c.sobcextin
FROM color_c a, xref_legacy_gold_color_code b, STRUCOBJ c
WHERE a.color_code = b.color_des
AND a.color_code not IN (0, 1169)
AND NOT EXISTS (SELECT 1 FROM class_mst WHERE class_des = a.class_des and color_des IN (0, 990, 993))
AND c.sobidstr = 1
AND c.sobidniv = 4;
CURSOR filter_color_cur IS
SELECT DISTINCT a.color_code, a.color_des
FROM color_code a, xref_legacy_gold_color_dec b
WHERE a.color_code = b.color_des
AND a.class_num IN (0, 1169)
OR EXISTS (SELECT 1 FROM color_mst WHERE class_des = a.color_code and color_des IN (0, 990, 993));
BEGIN
TMR.CAPTURE(7);
dbms_output.put_line('load_color began.');
-- Set Run Log ID
BEGIN
v_audit_log_id := ps_disa_audit.create_audit_log('COLOR_CODE', 'COLOR_DES', null,
null, null, ps_disa_audit.FILE_LOADING);
lr_run_log_rec.module_name := 'PS_MDM_INTERFACE_COLOR_C.LOAD_CLASS(' ||
v_audit_log_id || ')';
lr_error_log_rec.specific_location := 'Creating RUN_LOG entry';
ln_run_log_id := ps_disa_log_util.log_run_start (lr_run_log_rec);
EXCEPTION
WHEN OTHERS THEN
RAISE;
END;
SAVEPOINT load_class_savepoint;
END LOOP;
PROCEDURE process_class (
p_audit_log_id IN audit_log.audit_log_id%TYPE
IS
NAME: process_class (Procedure)
PURPOSE: This is the driving procedure for processing class into
GOLD.INTOBJ interface table.
REVISIONS:
Ver Date Author Description
1.0 06/15/2011 Chada Changchit Created this procedure.
v_rec_count INTEGER;
SAVEPOINT process_color_savepoint;
-- count the number of records we expect to insert
lr_error_log_rec.specific_location := 'Count records.';
SELECT COUNT(*)
INTO v_rec_count
FROM mdm_staging_color_c
WHERE audit_log_id = p_audit_log_id
AND staging_status_id = PS_DISA_STAGING.PROCESSING;
-- Interface into GOLD.
lr_error_log_rec.specific_location := 'Process class into GOLD.INTOBJ table.';
PROCEDURE load_color_des
IS
NAME: load_sub_class (Procedure)
PURPOSE: This is the driving procedure for loading sub-class into
DISA.mdm_staging_subdept_c staging table.
REVISIONS:
Ver Date Author Description
1.0 06/15/2011 Chada Changchit Created this procedure.
v_audit_log_id audit_log.audit_log_id%TYPE;
v_line_seq INTEGER := 1;
v_subclass_seq INTEGER := 10001;
CURSOR color_des_cur IS
SELECT DISTINCT a.class_code, a.color_des, b.sobcextin
FROM color_c a, STRUCOBJ b
WHERE a.color_code = b.sobcext
AND a.color_code not IN (0, 1169)
AND NOT EXISTS (SELECT 1 FROM color_mst WHERE color_des = a.color_code and color_des IN (0, 990, 993))
AND b.sobidstr = 1
AND b.sobidniv = 5 -- class level
ORDER BY a.class_code;
CURSOR filter_color_des_cur IS
SELECT DISTINCT a.color_code, a.color_des
FROM color_code a, STRUCOBJ b
WHERE a.color_code IN (0, 1169)
OR EXISTS (SELECT 1 FROM color_mst WHERE color_code = a.color_des and color_des IN (0, 990, 993));
PROCEDURE process_color_des (
p_audit_log_id IN audit_log.audit_log_id%TYPE
IS
NAME: process_sub_class (Procedure)
PURPOSE: This is the driving procedure for processing sub-class into
GOLD.INTOBJ interface table.
REVISIONS:
Ver Date Author Description
1.0 06/15/2011 Chada Changchit Created this procedure.
v_rec_count INTEGER;
BEGIN
TMR.CAPTURE(10);
dbms_output.put_line('process_color_des began.');
-- Set Run Log ID
BEGIN
PS_DISA_AUDIT.set_audit_log_status(p_audit_log_id, ps_disa_audit.DATA_INTERFACING);
lr_run_log_rec.module_name := 'PS_MDM_INTERFACE_COLOR_C.PROCESS_COLOR_DEC(' ||
p_audit_log_id || ')';
lr_error_log_rec.specific_location := 'Creating RUN_LOG entry';
ln_run_log_id := ps_disa_log_util.log_run_start (lr_run_log_rec);
EXCEPTION
WHEN OTHERS THEN
RAISE;
END;
SAVEPOINT process_sub_class_savepoint;
-- Merge sub-class into DISA.xref_legacy_gold_sub_class table
lr_error_log_rec.specific_location := 'Merge sub-class into DISA.xref_legacy_gold_color_des table.';
MERGE INTO xref_legacy_gold_sub_class
USING (
SELECT color_code, color_des
FROM mdm_staging_color_des
WHERE staging_status_id = PS_DISA_STAGING.PROCESSING
) a
ON(xref_legacy_gold_COLOR_CODE.COLOR_DES = a.COLOR_CODE)
WHEN NOT MATCHED THEN
INSERT (COLOR_CODE,COLOR_DEC) VALUES (a.COLOR_CODE, a.COLOR_DEC)
WHEN MATCHED THEN
UPDATE SET
COLOR_CODE = a.COLOR_DEC,
LAST_UPDATE_SOURCE = user,
LAST_UPDATE_DATE = sysdate;
-- count the number of records we expect to insert
lr_error_log_rec.specific_location := 'Count records.';
SELECT COUNT(*)
INTO v_rec_count
FROM mdm_staging_color_des
WHERE audit_log_id = p_audit_log_id
AND staging_status_id = PS_DISA_STAGING.PROCESSING;
END process_color_des;
END PS_ MDM_INTERFACE_COLOR_C ;Thank you,
Sam
Edited by: BluShadow on 07-Jul-2011 14:14
added {noformat}{noformat} tags.
869574 wrote:
run script in Oracle toad 10.6
Thank you,
samNo. I, like most other people here, am busy working. If you have an issue, YOU run the script and YOU tell us what your issue is. This isn't a game where we are supposed to guess what the problem is. If you can't be bothered to post your question according the forum guidelines ({message:id=9360002}) then why on Earth should we bother to waste our time looking to help?
Similar Messages
-
Request to check my coding..... Urgent
MY program is with ALV_Grid
1. Selection Screen
Customer Number: KUNNR
Billing Date: FKDAT
Now Using the above Selection screen inputs, I want to generate the following fields in the output.
2. Output Screen
Invoice No: VBELN
Invoice Date: FKDAT
Customer Number: KUNNR
Customer Name: NAME1
Material Description: MAKTX
Payment Terms: ZTERM
Net Value: NETWR
Ship-to City: ORT01
Sold-to party: KUNAG
Ship-to party: KUNNR
Tables Used:
Delivery: LIKP, LIPS
Invoice:VBRK, VBRP
Customer: KNA1
Material: MARA
Material Description: MAKT
Now the Problem what I got is....How to link between these tables...ie., what common fields can be used between these tables so that I can use FOR ALL ENTRIES and retrieve the above output fields.
3. Create Dictionary Structure for Output Data
4. Create Dynpro (Screen 9000)
5. Create ALV Grid Object and Call Method "set_table_for_first_display" of alv obj in PBO Module of Screen
this is my coding so can
*& Report ZTESTALVOOPS
REPORT ZTESTALVOOPS.
tables: KNA1, KNVV,VBAK,VBFA, VBRK, mara.
data gr_alv_grid type ref to cl_gui_alv_grid.
data gc_custom_control_name type scrfname value 'CC_ALV'.
data gr_custom_container type ref to cl_gui_custom_container.
data gt_fieldcat type lvc_t_fcat.
data gs_layout type lvc_s_layo.
types: lvc.
selection screen *******************
select-options: so_kunnr for kna1-kunnr,
so_fkdat for vbrk-fkdat.
data begin of gt_list occurs 0.
include structure ZDIC_STRUC. " Dictionary Structure for Output Data
data end of gt_list.
start of selection **********************
end of selection *************************
call screen 9000.
*& Module STATUS_0100 OUTPUT
text
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'SET_STATUS'.
SET TITLEBAR 'FIRST' of program prg with cnt.
perform disp_alv. " DISPLAY ALV GRID
ENDMODULE. " STATUS_0100 OUTPUT
*& Form disp_alv
text
--> p1 text
<-- p2 text
FORM disp_alv .
if gr_alv_grid is INITIAL.
CREATE OBJECT GR_CUSTOM_CONTAINER
EXPORTING
PARENT =
CONTAINER_NAME = gc_custom_control_name
STYLE =
LIFETIME = lifetime_default
REPID =
DYNNR =
NO_AUTODEF_PROGID_DYNNR =
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 5
others = 6
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CREATE OBJECT GR_ALV_GRID
EXPORTING
I_SHELLSTYLE = 0
I_LIFETIME =
I_PARENT = gr_custom_container
I_APPL_EVENTS = space
I_PARENTDBG =
I_APPLOGPARENT =
I_GRAPHICSPARENT =
I_NAME =
EXCEPTIONS
ERROR_CNTL_CREATE = 1
ERROR_CNTL_INIT = 2
ERROR_CNTL_LINK = 3
ERROR_DP_CREATE = 4
others = 5
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
perform prepare_fieldcat changing gt_fieldcat.
perform prepare_layout changing gs_layout.
CALL METHOD GR_ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_BUFFER_ACTIVE =
I_BYPASSING_BUFFER =
I_CONSISTENCY_CHECK =
I_STRUCTURE_NAME =
IS_VARIANT =
I_SAVE =
I_DEFAULT = 'X'
IS_LAYOUT = gs_layout
IS_PRINT =
IT_SPECIAL_GROUPS =
IT_TOOLBAR_EXCLUDING = gt_exclude
IT_HYPERLINK =
IT_ALV_GRAPHICS =
IT_EXCEPT_QINFO =
CHANGING
IT_OUTTAB = gt_list[]
IT_FIELDCATALOG = gt_fieldcat
IT_SORT = gt_sort
IT_FILTER =
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
others = 4
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
else.
CALL METHOD GR_ALV_GRID->REFRESH_TABLE_DISPLAY
EXPORTING
IS_STABLE = gt_list[]
I_SOFT_REFRESH = gt_list[]
EXCEPTIONS
FINISHED = 1
others = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
endif.
ENDFORM. " disp_alv
*& Form prepare_fieldcat
text
<--P_GT_FIELDCAT text
FORM prepare_fieldcat CHANGING P_GT_FIELDCAT type lvc_t_fcat.
data ls_fcat type lvc_s_fcat.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
I_BUFFER_ACTIVE =
I_STRUCTURE_NAME = 'dic_struc'
I_CLIENT_NEVER_DISPLAY = 'X'
I_BYPASSING_BUFFER =
I_INTERNAL_TABNAME =
CHANGING
CT_FIELDCAT = p_gt_fieldcat[]
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 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.
*loop at p_gt_fieldcat into ls_fcat.
*case ls_fcat-fieldname.
*when 'CARRID'.
*ls_fcat-hotspot = 'X'.
*ls_fcat-outputlen = '10'.
*ls_fcat-coltext = 'Carrier ID'.
*modify p_gt_fieldcat from ls_fcat.
*when 'PAYMENTSUM'.
*ls_fcat-no_out = 'X'.
*ls_fcat-outputlen = '10'.
*modify p_gt_fieldcat from ls_fcat.
*endcase.
*endloop.
ENDFORM. " prepare_fieldcat
*& Form prepare_layout
text
<--P_GS_LAYOUT text
FORM prepare_layout CHANGING P_GS_LAYOUT type lvc_s_layo.
p_gs_layout-zebra = 'X'.
p_gs_layout-grid_title = 'FLIGHTS'.
p_gs_layout-smalltitle = 'X'.
ENDFORM. " prepare_layout
*& Module USER_COMMAND_0100 INPUT
text
MODULE USER_COMMAND_0100 INPUT.
case sy-ucomm.
when 'BACK'.
SET SCREEN 0.
LEAVE SCREEN.
when 'CANCEL'.
LEAVE PROGRAM.
WHEN 'OTHERS'.
LEAVE PROGRAM.
endcase.
ENDMODULE. " USER_COMMAND_0100 INPUT
Can anyone tell the code for selction statement for this program .....Now check the coding for the MY program is with ALV_Grid
1. Selection Screen
Customer Number: KUNNR
Billing Date: FKDAT
Now Using the above Selection screen inputs, I want to generate the following fields in the output.
2. Output Screen
Invoice No: VBELN
Invoice Date: FKDAT
Customer Number: KUNNR
Customer Name: NAME1
Material Description: MAKTX
Payment Terms: ZTERM
PR00_NETVALUE: KBETR
VPRS_COST: KWERT
VPRS_PROFITMARG: KBETR
Ship-to City: ORT01
Sold-to party: KUNAG
Ship-to party: KUNNR
Tables Used:
Delivery: LIKP, LIPS
Invoice:VBRK, VBRP
Customer: KNA1
Material: MARA
Material Description: MAKT
salesDocument VBAK - Head, VBAP Positions
3. Create Dictionary Structure for Output Data
4. Create Dynpro (Screen 9000)
5. Create ALV Grid Object and Call Method "set_table_for_first_display" of alv obj in PBO Module of Screen
Coding
REPORT ZTESTALVOOPS.
tables: KNA1, KNVV,VBAK,VBFA, VBRK, mara.
data gr_alv_grid type ref to cl_gui_alv_grid.
data gc_custom_control_name type scrfname value 'CC_ALV'.
data gr_custom_container type ref to cl_gui_custom_container.
data gt_fieldcat type lvc_t_fcat.
data gs_layout type lvc_s_layo.
types: lvc.
selection screen *******************
select-options: itab_kunnr for kna1-kunnr,
itab_fkdat for vbrk-fkdat.
data begin of gt_list occurs 0.
include structure Zrata_STRUC. " Dictionary Structure for Output Data
data end of gt_list.
start of selection **********************
select avbeln afkdat akunag a vbeln_va avndat_veda a vbeln_va anetwr bposnr bkbetr bkwert bkbetr bmaktx b~vgbel
from vbrk as a join vbrp as b on avbeln = bvbeln
into table itab where a~kunag in s_kunnr and
a~fkdat in s_fkdat.
loop at itab.
select single maktx from makt into itab-maktx
where matnr = itab-matnr and spras = sy-langu.
select single kunag into itab-kunag from likp
where vbeln = itab-vgbel.
select single name1 from kna1 into itab-name1
where kunnr = itab-kunnr.
select single ort01 from kna1 into itab-ort01
where kunnr = itab-kunag.
modify itab index sy-tabix transporting maktx name1 kunag ort01.
endloop.
end of selection *************************
call screen 9000.
*& Module STATUS_0100 OUTPUT
text
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'SET_STATUS'.
SET TITLEBAR 'FIRST' of program prg with cnt.
perform disp_alv. " DISPLAY ALV GRID
ENDMODULE. " STATUS_0100 OUTPUT
*& Form disp_alv
text
--> p1 text
<-- p2 text
FORM disp_alv .
if gr_alv_grid is INITIAL.
CREATE OBJECT GR_CUSTOM_CONTAINER
EXPORTING
PARENT =
CONTAINER_NAME = gc_custom_control_name
STYLE =
LIFETIME = lifetime_default
REPID =
DYNNR =
NO_AUTODEF_PROGID_DYNNR =
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 5
others = 6
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CREATE OBJECT GR_ALV_GRID
EXPORTING
I_SHELLSTYLE = 0
I_LIFETIME =
I_PARENT = gr_custom_container
I_APPL_EVENTS = space
I_PARENTDBG =
I_APPLOGPARENT =
I_GRAPHICSPARENT =
I_NAME =
EXCEPTIONS
ERROR_CNTL_CREATE = 1
ERROR_CNTL_INIT = 2
ERROR_CNTL_LINK = 3
ERROR_DP_CREATE = 4
others = 5
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
perform prepare_fieldcat changing gt_fieldcat.
perform prepare_layout changing gs_layout.
CALL METHOD GR_ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_BUFFER_ACTIVE =
I_BYPASSING_BUFFER =
I_CONSISTENCY_CHECK =
I_STRUCTURE_NAME =
IS_VARIANT =
I_SAVE =
I_DEFAULT = 'X'
IS_LAYOUT = gs_layout
IS_PRINT =
IT_SPECIAL_GROUPS =
IT_TOOLBAR_EXCLUDING = gt_exclude
IT_HYPERLINK =
IT_ALV_GRAPHICS =
IT_EXCEPT_QINFO =
CHANGING
IT_OUTTAB = gt_list[]
IT_FIELDCATALOG = gt_fieldcat
IT_SORT = gt_sort
IT_FILTER =
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
others = 4
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
else.
CALL METHOD GR_ALV_GRID->REFRESH_TABLE_DISPLAY
EXPORTING
IS_STABLE = gt_list[]
I_SOFT_REFRESH = gt_list[]
EXCEPTIONS
FINISHED = 1
others = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
endif.
ENDFORM. " disp_alv
*& Form prepare_fieldcat
text
<--P_GT_FIELDCAT text
FORM prepare_fieldcat CHANGING P_GT_FIELDCAT type lvc_t_fcat.
data ls_fcat type lvc_s_fcat.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
I_BUFFER_ACTIVE =
I_STRUCTURE_NAME = 'dic_struc'
I_CLIENT_NEVER_DISPLAY = 'X'
I_BYPASSING_BUFFER =
I_INTERNAL_TABNAME =
CHANGING
CT_FIELDCAT = p_gt_fieldcat[]
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 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.
*loop at p_gt_fieldcat into ls_fcat.
*case ls_fcat-fieldname.
*when 'CARRID'.
*ls_fcat-hotspot = 'X'.
*ls_fcat-outputlen = '10'.
*ls_fcat-coltext = 'Carrier ID'.
*modify p_gt_fieldcat from ls_fcat.
*when 'PAYMENTSUM'.
*ls_fcat-no_out = 'X'.
*ls_fcat-outputlen = '10'.
*modify p_gt_fieldcat from ls_fcat.
*endcase.
*endloop.
ENDFORM. " prepare_fieldcat
*& Form prepare_layout
text
<--P_GS_LAYOUT text
FORM prepare_layout CHANGING P_GS_LAYOUT type lvc_s_layo.
p_gs_layout-zebra = 'X'.
p_gs_layout-grid_title = 'FLIGHTS'.
p_gs_layout-smalltitle = 'X'.
ENDFORM. " prepare layout
*& Module USER_COMMAND_0100 INPUT
text
MODULE USER_COMMAND_0100 INPUT.
Case sy-ucomm.
When 'BACK'.
SET SCREEN 0.
LEAVE SCREEN.
When 'CANCEL'.
LEAVE PROGRAM.
WHEN 'OTHERS'.
LEAVE PROGRAM.
Endcase.
ENDMODULE. USER_COMMAND_0100 INPUT -
Help me check this coding!
The following is my coding which is my assignment. i doubt i have logic problem. So, help me check this about multi-thread.
if it's wrong which you find, help me correct.I have thought this several days, but till now, i have no any good idea to correct.
import java.io.*;
import java.net.*;
import java.util.*;
public class WebServer extends Thread{
public WebServer(int port,int timeOut,int maxUser){
public void run(){
for (int i=0;i<=maxUser;i++){
Thread t=new Thread(new HTTPRequest());
t.start();
while(true){
Socket connectionSocket;
try{
connectionSocket=server_Socket.accept();
HTTPRequest.processRequest(connectionSocket);
}catch (IOException e){}
public static void main(String args[]) throws Exception{
class HTTPRequest implements Runnable{
private static List pool= new LinkedList();
public static void processRequest(Socket v_socket) throws IOException{
synchronized(pool){
pool.add(pool.size(),v_socket);
pool.notifyAll();
public synchronized void run(){
while(true){
socket=null;
synchronized (pool){
while(pool.isEmpty()){
try{
pool.wait();
}catch(InterruptedException e){}
socket=(Socket)pool.remove(0);
try{
}catch (IOException e){}
finally {
try{
}catch (IOException e){}You don't have a specific problem right?
I don't see anything terribly wrong with it.
Other stuff:
Why is WebServer a thread? Will there be more than one?
Use notify() not notifyAll(). You are only adding one object so only one thread needs to service it.
The run() loop for HTTPRequest does not exit after serving a socket right. Hard to tell from your posting without code blocks.
Don't forget to close the sockets. -
Javac not checking hard coded dir paths???
I'm a beginner java person...have 17 years in computers experience, most Unix admin. I've been through into a job of trying to troubleshoot someone else's code that is long gone. A GUI window is not displaying and I'm getting java errors in the log files. After going back and trying to recompile the offending .java file, I don't get any errors at all. But on further research, have found a hard coded directory path to a file that doesn't exist on the workstation. Does javac not check all it's directory pointers to outside files during compilation. My experience with C++ was that it did...but java code compiler must not be the same??? I'm using java 1.2 compiler on a Solaris 2.7 workstation.
Anyone have any suggestions??? I'm befuzzled. Would be greatly appreciated. Thanks, MelisaSo How will I find all the missing dirs?? I guess with C++ compiler it was the includes that it went out and checked for that I was thinking about. Sorry. I'm string searching the source for all dir paths to files and I'll just have to manually verify they are in existence I guess. Thanks for your answer.
-
Hi All,
I have configured new coding mask 00-XXXX-XXX-XXXX at client 100. Where 00 is PrjID
I have copied that TR to client 300 dev.
I am able to see the coding mask in dev server. But when I tried to create the project with the coding mask. I am not able to see the format of my complete coding mask in project definition. The format should display beside Mask ID
I am not able to create project as per my coding mask
Please find the attached screen shot
Please help me
Thanks
PraveenHi,
can i create a coding mask without giving prjid id it possible.
Please let me know what is the solution.
No, I don't think its possible because when you create a Project, system check available coding mask with the help of PRJID. If you don't give then how system will check coding mask.
As a suggestion, you should create PRJID as your client company shortcode and rest in coding mask section, start with your year and so on.
e.g. If you create coding mask like ABC-XXXX-XXX-XXXX-XX (Lets say ABC is your company name and put it in PRJID)
Now you can create Projects codes like- ABC-2014-ADV or ABC-2015-ADV and so on.
In this way, you can keep your years also by using same mask.
Regards
Shishir -
my website (autographica.co.uk) keeps throwing up a malware warning when you try to access it. This only happens on some versions of firefox but not others.
I have checked the coding and there is nothing malicious in it. We did have an attack last year but that was fixed and the malicious code removed.
I spoke to my tech guy and he thinks the site may have been blacklisted or blocked and this was never removed after the problem was fixed.
Is there any way of checking and unblocking the site?I am not getting that. Are you sure it is not being blocked by your Firewall/AV/AS application?
Firefox uses Google's Safe Browsing for tracking and warning users about malicious sites, and your site had been previously blocked according to Google's Safe Browsing. Read all of the information here: http://www.google.com/safebrowsing/diagnostic?site=autographica.co.uk
There are links at the bottom of that page to report errors to Google's Safe Browsing if you continue having the problem. The Safe Browsing component's database is updated frequently on your computer, but it may take some time to get all of the updates, a few at a time, if many sites being updated.
Following are examples of the Firefox warning screens; look at all 3 of the options at the bottom of the page. The option "Why was this page blocked", will get you to the above report about a site.
*http://www.mozilla.com/firefox/its-a-trap.html
*http://www.mozilla.com/firefox/its-an-attack.html
*Info: http://www.mozilla.com/en-US/firefox/phishing-protection/
'''If this reply solves your problem, please click "Solved It" next to this reply when <u>signed-in</u> to the forum.''' -
CORRECT MY CODING...
hi Gurus,
check my coding here...
if <wa_report>-PSTYV = 'YN61' or <wa_report>-PSTYV = 'YN67'.
<wa_report>-FOC = 'K'.
elseif ZOFM > 0 .
<wa_report>-FOC = 'V'.
else.
clear <wa_report>-FOC.
endif.
here im getting zofm is unknown but its defined in the structure zos009...so hw to solve it.
correct answeres will be awarded.
sirish.Hi,
Try like this
if ( <wa_report>-PSTYV = 'YN61' ) or
( <wa_report>-PSTYV = 'YN67' ).
<wa_report>-FOC = 'K'.
elseif zos009-ZOFM > 0 . give here field name
<wa_report>-FOC = 'V'.
else.
clear <wa_report>-FOC.
endif.
Regards,
Prashant -
How to attached class or function module in FD03
Hi Guys
I want to attached CL_ATTACHMENT_LIST for retriving attachment list from fd03 please help to attached the function module in my program?
regards
Piroz
report zfir_aged_debtors no standard page heading
line-size 255.
Type group
type-pools:
slis. " ALV types
Tables
tables:
adrc, " Addresses
bsad, " Accounting: Customer secondary index (Cleared)
bsid, " Accounting: Customer secondary index (Open)
kna1, " Customer master: General data
knkk, " Customer master: Credit management
knvk. " Customer master: Contact persons
Types
types:
begin of ty_bsadbsid,
bukrs like bsad-bukrs, " Company code
kunnr like bsad-kunnr, " Customer
gjahr like bsad-gjahr, " Fiscal year
belnr like bsad-belnr, " Accounting document number
buzei like bsad-buzei, " Line item
budat like bsad-budat, " Posting date
bldat like bsad-bldat, " Document date
waers like bsad-waers, " Currency
xblnr like bsad-xblnr, " Reference
shkzg like bsad-shkzg, " Debit/credit indicator
dmbtr like bsad-dmbtr, " Amount
zfbdt like bsad-zfbdt, " Baseline date for due date
" calculation
zbd1t like bsad-zbd1t, " Cash discount days 1
zbd2t like bsad-zbd2t, " Cash discount days 2
zbd3t like bsad-zbd3t, " Net payment terms period
rebzg like bsad-rebzg, " Number of the invoice
rebzt like bsad-rebzt, " Follow on document type
end of ty_bsadbsid,
ty_it_bsadbsid type ty_bsadbsid occurs 0,
begin of ty_merged,
kunnr like kna1-kunnr, " Customer number
name1 like adrc-name1, " Name
city1 like adrc-city1, " City
post_code1 like adrc-post_code1, " Post code
street like adrc-street, " Street
house_num1 like adrc-house_num1, " House number
tel_number like adrc-tel_number, " Telephone number
fax_number like adrc-fax_number, " Fax number
namev like knvk-namev, " First name
namew like knvk-name1, " Last name
telf1 like knvk-telf1, " Telephone number
klimk like knkk-klimk, " Credit limit
skfor like knkk-skfor, " Total receivables
total like bsad-dmbtr, " Total amount
rast1 like bsad-dmbtr, " Amount period 1
rast2 like bsad-dmbtr, " Amount period 2
rast3 like bsad-dmbtr, " Amount period 3
rast4 like bsad-dmbtr, " Amount period 4
rast5 like bsad-dmbtr, " Amount period 5
rast6 like bsad-dmbtr, " Amount period 6
end of ty_merged,
ty_it_merged type ty_merged occurs 0.
Internal tables
data:
Internal table to store customer line items from BSAD and BSID
it_bsadbsid type ty_it_bsadbsid,
Internal table to store field catalog for ALV function call
it_fieldcat type slis_t_fieldcat_alv,
Internal table to store summarised data for report output
it_merged type ty_it_merged.
Structures
data:
Display variant structures
st_tvariant like disvariant,
st_variant like disvariant.
Constants
constants:
co_delim_dash type c
value '-',
co_false type c " False
value space,
co_koart_d like faede-koart " Customer account type
value 'D',
co_save_u type c " User display variant
value 'U', " saving allowed.
co_shkzg_h like bsid-shkzg " Debit/Credit indicator
value 'H', " for credit
co_shkzg_s like bsid-shkzg " Debit/Credit indicator
value 'S', " for debit
co_selected type c " Value of selected radio
value 'X', " button or checkbox
co_true type c " True
value co_selected.
Variables
data:
va_exit type c.
Selection screen definition
selection-screen: begin of block b1 with frame title text-001.
select-options:
s_kunnr for bsad-kunnr. " Customer number
parameters:
p_kkber like knkk-kkber, " Credit control area
p_pafkt like knvk-pafkt, " Contact function
p_datum like sy-datum. " Report date
selection-screen: begin of line,
comment 01(30) text-006,
position pos_low.
parameters:
rastbis1 like rfpdo1-allgrogr " Due date sorted 1
default '000',
rastbis2 like rfpdo1-allgrogr " Due date sorted 2
default '000',
rastbis3 like rfpdo1-allgrogr " Due date sorted 3
default '000',
rastbis4 like rfpdo1-allgrogr " Due date sorted 4
default '000',
rastbis5 like rfpdo1-allgrogr " Due date sorted 5
default '000'.
selection-screen: end of line.
selection-screen: end of block b1,
begin of block b2 with frame title text-002.
parameters:
p_varint like disvariant-variant. " Display variant.
selection-screen: end of block b2.
Initialisation
initialization.
Provide default periods for due date sorted list.
rastbis1 = 0.
rastbis2 = 30.
rastbis3 = 60.
rastbis4 = 90.
rastbis5 = 120.
Default report date to current.
p_datum = sy-datlo.
Default credit control area to BP01.
p_kkber = 'BP01'.
At selection screen on value request for
at selection-screen on value-request for p_varint.
Provide display variant list for this program.
call function 'REUSE_ALV_VARIANT_F4'
exporting
is_variant = st_variant
i_save = co_save_u
importing
e_exit = va_exit
es_variant = st_tvariant
exceptions
not_found = 2.
if sy-subrc eq 2.
message id sy-msgid type 'S'
number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
else.
if va_exit eq space.
st_variant = st_tvariant.
p_varint = st_tvariant-variant.
endif.
endif.
At selection screen
at selection-screen.
Load display variant.
if not p_varint is initial.
move st_variant to st_tvariant.
move p_varint to st_tvariant-variant.
call function 'REUSE_ALV_VARIANT_EXISTENCE'
exporting
i_save = co_save_u
changing
cs_variant = st_tvariant.
st_variant = st_tvariant.
else.
clear st_variant.
st_variant-report = sy-repid.
endif.
if p_kkber is initial.
Ensure credit control area is specified.
message e000(zgen) with 'Credit control area must be specified'.
endif.
if p_pafkt is initial.
Ensure contact person function is specified.
message e000(zgen) with 'Contact person function must be specified'.
endif.
Start of selection
start-of-selection.
Extract open customer items from BSID
select bukrs kunnr gjahr belnr buzei budat bldat waers xblnr shkzg
dmbtr zfbdt zbd1t zbd2t zbd3t rebzg rebzt
from bsid
into table it_bsadbsid
where kunnr in s_kunnr
and budat le p_datum.
Extracct cleared customer items from BSAD
select bukrs kunnr gjahr belnr buzei budat bldat waers xblnr shkzg
dmbtr zfbdt zbd1t zbd2t zbd3t rebzg rebzt
from bsad
appending table it_bsadbsid
where kunnr in s_kunnr
and budat le p_datum
and augdt ge p_datum.
Ensure that items were not selected twice while getting data from the
open and cleared items tables (Only if transaction occured during
report run).
sort it_bsadbsid by bukrs belnr gjahr buzei.
delete adjacent duplicates from it_bsadbsid
comparing bukrs belnr gjahr buzei.
if it_bsadbsid[] is initial.
No data found for selection
message s001(zgen).
exit.
endif.
Merge data for report output
perform merge_data tables it_bsadbsid
it_merged.
Build field catalog
perform build_field_catalog tables it_fieldcat.
Output report via ALV
perform output_report_via_alv tables it_fieldcat
it_merged.
*& Form merge_data
text
form merge_data tables pa_it_bsadbsid type ty_it_bsadbsid
pa_it_merged type ty_it_merged.
Local work areas
data:
lwa_bsadbsid type ty_bsadbsid,
lwa_merged type ty_merged.
Local structures
data:
lst_faede like faede.
Local variables
data:
lva_daysover type i,
lva_merged_tabix like sy-tabix.
loop at pa_it_bsadbsid into lwa_bsadbsid.
Lookup merged entry for customer
clear lwa_merged.
read table pa_it_merged into lwa_merged
with key kunnr = lwa_bsadbsid-kunnr
binary search.
lva_merged_tabix = sy-tabix.
if sy-subrc ne 0.
Create new merged record for customer
lwa_merged-kunnr = lwa_bsadbsid-kunnr.
Get customer details from KNA1
clear kna1.
select single *
from kna1
where kunnr eq lwa_bsadbsid-kunnr.
Get customer address details from ADRC
clear adrc.
select single *
from adrc
where addrnumber eq kna1-adrnr
and date_from le p_datum.
lwa_merged-name1 = adrc-name1.
lwa_merged-city1 = adrc-city1.
lwa_merged-post_code1 = adrc-post_code1.
lwa_merged-street = adrc-street.
lwa_merged-house_num1 = adrc-house_num1.
lwa_merged-tel_number = adrc-tel_number.
lwa_merged-fax_number = adrc-fax_number.
Get credit limit details from KNKK
clear knkk.
select single *
from knkk
where kunnr eq lwa_bsadbsid-kunnr
and kkber eq p_kkber.
lwa_merged-klimk = knkk-klimk.
lwa_merged-skfor = knkk-skfor.
Get customer contact person details from KNVK
clear knvk.
select single *
from knvk
where kunnr eq lwa_bsadbsid-kunnr
and pafkt eq p_pafkt.
lwa_merged-namev = knvk-namev.
lwa_merged-namew = knvk-name1.
lwa_merged-telf1 = knvk-telf1.
insert lwa_merged into pa_it_merged index lva_merged_tabix.
endif.
Interpret debit/credit indicator
case lwa_bsadbsid-shkzg.
when co_shkzg_h.
Credit
lwa_bsadbsid-dmbtr = 0 - lwa_bsadbsid-dmbtr.
when co_shkzg_s.
Debit
endcase.
Perform ageing
clear lst_faede.
move-corresponding lwa_bsadbsid to lst_faede.
lst_faede-koart = co_koart_d.
call function 'DETERMINE_DUE_DATE'
exporting
i_faede = lst_faede
importing
e_faede = lst_faede
exceptions
others = 1.
lva_daysover = p_datum - lst_faede-netdt.
Accumulate total.
add lwa_bsadbsid-dmbtr to lwa_merged-total.
if lva_daysover le rastbis1.
add lwa_bsadbsid-dmbtr to lwa_merged-rast1.
else.
if lva_daysover le rastbis2 or
rastbis3 is initial.
add lwa_bsadbsid-dmbtr to lwa_merged-rast2.
else.
if lva_daysover le rastbis3 or
rastbis4 is initial.
add lwa_bsadbsid-dmbtr to lwa_merged-rast3.
else.
if lva_daysover le rastbis4 or
rastbis5 is initial.
add lwa_bsadbsid-dmbtr to lwa_merged-rast4.
else.
if lva_daysover le rastbis5.
add lwa_bsadbsid-dmbtr to lwa_merged-rast5.
else.
add lwa_bsadbsid-dmbtr to lwa_merged-rast6.
endif.
endif.
endif.
endif.
endif.
Update the merged record
modify pa_it_merged from lwa_merged index lva_merged_tabix.
endloop.
endform. " merge_data
*& Form build_field_catalog
text
form build_field_catalog tables pa_it_fieldcat type slis_t_fieldcat_alv.
Local work areas
data:
lwa_fieldcat type slis_fieldcat_alv.
--WG1K903216: Start Insert-
data: v_datum type datum,
v_mdmth type datum,
v_datxt type string,
v_noday type i.
--WG1K903216: End Insert---
refresh pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'KUNNR'.
lwa_fieldcat-ref_tabname = 'KNA1'.
lwa_fieldcat-ref_fieldname = 'KUNNR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '1'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'NAME1'.
lwa_fieldcat-ref_tabname = 'ADRC'.
lwa_fieldcat-ref_fieldname = 'NAME1'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '2'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'CITY1'.
lwa_fieldcat-ref_tabname = 'ADRC'.
lwa_fieldcat-ref_fieldname = 'CITY1'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '3'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'POST_CODE1'.
lwa_fieldcat-ref_tabname = 'ADRC'.
lwa_fieldcat-ref_fieldname = 'POST_CODE1'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '4'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'STREET'.
lwa_fieldcat-ref_tabname = 'ADRC'.
lwa_fieldcat-ref_fieldname = 'STREET'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '5'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'HOUSE_NUM1'.
lwa_fieldcat-ref_tabname = 'ADRC'.
lwa_fieldcat-ref_fieldname = 'HOUSE_NUM1'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '6'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'TEL_NUMBER'.
lwa_fieldcat-ref_tabname = 'ADRC'.
lwa_fieldcat-ref_fieldname = 'TEL_NUMBER'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '7'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'FAX_NUMBER'.
lwa_fieldcat-ref_tabname = 'ADRC'.
lwa_fieldcat-ref_fieldname = 'FAX_NUMBER'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '8'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'NAMEV'.
lwa_fieldcat-ref_tabname = 'KNVK'.
lwa_fieldcat-ref_fieldname = 'NAMEV'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '9'.
lwa_fieldcat-seltext_l = 'Contact first name'.
lwa_fieldcat-seltext_m = 'Contact Fname'.
lwa_fieldcat-seltext_s = 'Ctct Fname'.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'NAMEW'.
lwa_fieldcat-ref_tabname = 'KNVK'.
lwa_fieldcat-ref_fieldname = 'NAME1'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '10'.
lwa_fieldcat-seltext_l = 'Contact last name'.
lwa_fieldcat-seltext_m = 'Contact Lname'.
lwa_fieldcat-seltext_s = 'Ctxt Lname'.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'TELF1'.
lwa_fieldcat-ref_tabname = 'KNVK'.
lwa_fieldcat-ref_fieldname = 'TELF1'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '11'.
lwa_fieldcat-seltext_l = 'Contact phone no.'.
lwa_fieldcat-seltext_m = 'Contact phone'.
lwa_fieldcat-seltext_s = 'Ctct Phne'.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'KLIMK'.
lwa_fieldcat-ref_tabname = 'KNKK'.
lwa_fieldcat-ref_fieldname = 'KLIMK'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '12'.
lwa_fieldcat-seltext_l = 'Credit limit'.
lwa_fieldcat-seltext_m = 'Credit limit'.
lwa_fieldcat-seltext_s = 'Crdt limit'.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'SKFOR'.
lwa_fieldcat-ref_tabname = 'KNKK'.
lwa_fieldcat-ref_fieldname = 'SKFOR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '13'.
lwa_fieldcat-seltext_l = 'Credit used'.
lwa_fieldcat-seltext_m = 'Credit used'.
lwa_fieldcat-seltext_s = 'Crdt used'.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'TOTAL'.
lwa_fieldcat-ref_tabname = 'BSAD'.
lwa_fieldcat-ref_fieldname = 'DMBTR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '14'.
lwa_fieldcat-seltext_l = 'Total'.
lwa_fieldcat-seltext_m = 'Total'.
lwa_fieldcat-seltext_s = 'Total'.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'RAST1'.
lwa_fieldcat-ref_tabname = 'BSAD'.
lwa_fieldcat-ref_fieldname = 'DMBTR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '15'.
--WG1K903216: Start Delete-
concatenate '<'
rastbis2
into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Delete---
--WG1K903216: Start Insert-
clear: v_datum,
v_datxt.
v_noday = rastbis2.
Always use the middle of the report month as a heading reference date.
concatenate p_datum+0(6) '15' into v_mdmth.
call function 'ZWAG_DATE_CALCULATOR'
exporting i_datum = v_mdmth
i_noday = v_noday
i_oprnd = '+'
importing e_datum = v_datum
exceptions invalid_operand = 1.
call function 'ZWAG_END_MONTH'
exporting i_datum = v_datum
importing e_datum = v_datum
e_datxt = v_datxt
exceptions invalid_date = 1.
concatenate 'Due' v_datxt into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Insert---
lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.
lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'RAST2'.
lwa_fieldcat-ref_tabname = 'BSAD'.
lwa_fieldcat-ref_fieldname = 'DMBTR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '16'.
--WG1K903216: Start Delete-
concatenate rastbis1
rastbis2
into lwa_fieldcat-seltext_l
separated by co_delim_dash.
--WG1K903216: End Delete---
--WG1K903216: Start Insert-
clear: v_datum,
v_datxt.
v_noday = rastbis1.
call function 'ZWAG_DATE_CALCULATOR'
exporting i_datum = v_mdmth
i_noday = v_noday
i_oprnd = '+'
importing e_datum = v_datum
exceptions invalid_operand = 1.
call function 'ZWAG_END_MONTH'
exporting i_datum = v_datum
importing e_datum = v_datum
e_datxt = v_datxt
exceptions invalid_date = 1.
concatenate 'Due' v_datxt into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Insert---
lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.
lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'RAST3'.
lwa_fieldcat-ref_tabname = 'BSAD'.
lwa_fieldcat-ref_fieldname = 'DMBTR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '17'.
--WG1K903216: Start Delete-
concatenate rastbis2
rastbis3
into lwa_fieldcat-seltext_l
separated by co_delim_dash.
--WG1K903216: End Delete---
--WG1K903216: Start Insert-
clear: v_datum,
v_datxt.
v_noday = rastbis2.
call function 'ZWAG_DATE_CALCULATOR'
exporting i_datum = v_mdmth
i_noday = v_noday
i_oprnd = '-'
importing e_datum = v_datum
exceptions invalid_operand = 1.
call function 'ZWAG_END_MONTH'
exporting i_datum = v_datum
importing e_datum = v_datum
e_datxt = v_datxt
exceptions invalid_date = 1.
concatenate 'Due' v_datxt into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Insert---
lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.
lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'RAST4'.
lwa_fieldcat-ref_tabname = 'BSAD'.
lwa_fieldcat-ref_fieldname = 'DMBTR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '18'.
--WG1K903216: Start Delete-
concatenate rastbis3
rastbis4
into lwa_fieldcat-seltext_l
separated by co_delim_dash.
--WG1K903216: End Delete---
--WG1K903216: Start Insert-
clear: v_datum,
v_datxt.
v_noday = rastbis3.
call function 'ZWAG_DATE_CALCULATOR'
exporting i_datum = v_mdmth
i_noday = v_noday
i_oprnd = '-'
importing e_datum = v_datum
exceptions invalid_operand = 1.
call function 'ZWAG_END_MONTH'
exporting i_datum = v_datum
importing e_datum = v_datum
e_datxt = v_datxt
exceptions invalid_date = 1.
concatenate 'Due' v_datxt into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Insert---
lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.
lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'RAST5'.
lwa_fieldcat-ref_tabname = 'BSAD'.
lwa_fieldcat-ref_fieldname = 'DMBTR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '19'.
--WG1K903216: Start Delete-
concatenate rastbis4
rastbis5
into lwa_fieldcat-seltext_l
separated by co_delim_dash.
--WG1K903216: End Delete---
--WG1K903216: Start Insert-
clear: v_datum,
v_datxt.
v_noday = rastbis4.
call function 'ZWAG_DATE_CALCULATOR'
exporting i_datum = v_mdmth
i_noday = v_noday
i_oprnd = '-'
importing e_datum = v_datum
exceptions invalid_operand = 1.
call function 'ZWAG_END_MONTH'
exporting i_datum = v_datum
importing e_datum = v_datum
e_datxt = v_datxt
exceptions invalid_date = 1.
concatenate 'Due' v_datxt into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Insert---
lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.
lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'RAST6'.
lwa_fieldcat-ref_tabname = 'BSAD'.
lwa_fieldcat-ref_fieldname = 'DMBTR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '20'.
--WG1K903216: Start Delete-
concatenate '>'
rastbis5
into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Delete---
--WG1K903216: Start Insert-
clear: v_datum,
v_datxt.
v_noday = rastbis5.
call function 'ZWAG_DATE_CALCULATOR'
exporting i_datum = v_mdmth
i_noday = v_noday
i_oprnd = '-'
importing e_datum = v_datum
exceptions invalid_operand = 1.
call function 'ZWAG_END_MONTH'
exporting i_datum = v_datum
importing e_datum = v_datum
e_datxt = v_datxt
exceptions invalid_date = 1.
concatenate 'Due By' v_datxt into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Insert---
lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.
lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
endform. " build_field_catalog
*& Form output_report_via_alv
text
form output_report_via_alv
tables pa_it_fieldcat type slis_t_fieldcat_alv
pa_it_merged type ty_it_merged.
Local variables
data:
lva_repid like sy-repid,
lva_formname type slis_formname.
lva_repid = sy-repid.
lva_formname = 'USER_COMMAND'.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = lva_repid
i_callback_user_command = lva_formname
i_save = 'A'
is_variant = st_variant
it_fieldcat = pa_it_fieldcat[]
tables
t_outtab = pa_it_merged
exceptions
program_error = 1
others = 2.
endform. " output_report_via_alvHi shiva
Thanks for your help,
Can you check this coding and revert me back ASAP Please.
REPORT BDS_GOS_CONNECTION.
DATA : logical_system LIKE BAPIBDS01-log_system.
CLASSNAME LIKE BAPIBDS01-CLASSNAME
OBJKEY LIKE SWOTOBJID-objkey.
PARAMETERS: pa_lo_sys BAPIBDS01-log_system,
pa_class like BPIBDS01-CLASSNAME,
pa_objkey like swotobjidobjkey.
AT SELECTION-SCREEN.
CALL FUNCTION 'BDS_GOS_CONNECTIONS_GET'
EXPORTING
bor_id = bor_id
IMPORTING
logical_sytem = pa_lo_sys.
classname = pa_class.
objkey = pa_objkey.
EXCEPTIONS
no_objects_found = 1
internal_error = 2
internal_gos_error = 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.
clear v_attno1.
i_object1-typeid = 'BUS2012'.
i_object1-catid = 'BO'.
i_object1-instid = i_yItem-docno.
call method cl_gos_attachment_query=>count_for_object
exporting
is_object = i_object1
ip_arl = space
receiving
rt_stat = i_stat1.
read table i_stat1 into wa_stat1 index 1.
if sy-subrc eq c_0.
move wa_stat1-counter to v_attno1.
endif.
CALL METHOD cl_gos_attachment_query=>count_for_object
EXPORTING
is_object = object
ip_arl = space
RECEIVING
rt_stat = lt_stat.
READ TABLE lt_stat INDEX 1 into ls_stat.
count = ls_stat-counter.
*The object has to be a concatenation of your document, like this:
CONCATENATE object-instid tab-gjahr INTO object-instid.
ELSE.
CONCATENATE tab-bukrs tab-belnr tab-gjahr INTO
object-instid.
ENDIF. -
Short Dump while scrolling in a maintenance view
A maintenance view has one field, defined as "Radiobutton".
1) Select the radiobutton for one entry.
2) Scroll down so that in the new page (i.e. the entries displayed in the new page) the entry selected in the first step is not visible.
3) Select any radiobutton again corresponding to any of the entries displayed in the new page.
4) On scrolling up again the short dump occurs.
The short dump text says "More than one radio button is active".
Any inputs in this regards are appreciated.
Thanks.
Gajendra.Hi,
that means you are trying to make two radio buttons active.
parameters: ra radiobutton group g1 default = 'X',
rb radiobutton group g1.
ra = 'X'.
and rb = 'X'.
in your case so obviously it will dump.
check your coding..
and show your code...
Regards
vijay -
PS gallery linked to Dreamweaver does not show up once on pub. server
i created a photoshop gallery and linked it to my website (Dreamweaver) under construction (as im learning); it shows up fine when i preview it on browser from my computer location, however, it does not show up once on the public server. any help as to the direct problem with this link/file/coding, etc... would be greatly appreciated....
site >>>> http://paulrosal.com/ >>>>> CLICK ON "ART"
******************************CHECK OUT CODING RIGHT HERE******************************
<!-- saved from url=(0013)about:internet -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>gallery</title>
<style>
body,html {
margin-top:0;
margin-left:0;
margin-right:0;
margin-bottom:0;
height: 100%;
width: 100%;
</style>
<!-- Active Content Workaround Support File -->
<script src="resources/AC_RunActiveContent.js" language="javascript"></script>
<script language="JavaScript" type="text/javascript">
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) {
return pair[1];
return -1;
</script>
<script language="JavaScript" type="text/javascript">
var startImg = getQueryVariable("startImg");
//alert(startImg);
</script>
<!-- Flash Detection Script Block -->
<script language="JavaScript" type="text/javascript">
<!--
// Globals
// Major version of Flash required
var requiredMajorVersion = 8;
// Minor version of Flash required
var requiredMinorVersion = 0;
// Minor version of Flash required
var requiredRevision = 0;
// the version of javascript supported
var jsVersion = 1.0;
// -->
</script>
<script language="VBScript" type="text/vbscript">
<!-- // Visual basic helper required to detect Flash Player ActiveX control version information
Function VBGetSwfVer(i)
on error resume next
Dim swControl, swVersion
swVersion = 0
set swControl = CreateObject("ShockwaveFlash.ShockwaveFlash." + CStr(i))
if (IsObject(swControl)) then
swVersion = swControl.GetVariable("$version")
end if
VBGetSwfVer = swVersion
End Function
// -->
</script>
<script language="JavaScript1.1" type="text/javascript">
<!-- // Detect Client Browser type
var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
jsVersion = 1.1;
// JavaScript helper required to detect Flash Player PlugIn version information
function JSGetSwfVer(i){
// NS/Opera version >= 3 check for Flash plugin in plugin array
if (navigator.plugins != null && navigator.plugins.length > 0) {
if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
descArray = flashDescription.split(" ");
tempArrayMajor = descArray[2].split(".");
versionMajor = tempArrayMajor[0];
versionMinor = tempArrayMajor[1];
if ( descArray[3] != "" ) {
tempArrayMinor = descArray[3].split("r");
} else {
tempArrayMinor = descArray[4].split("r");
versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
} else {
flashVer = -1;
// MSN/WebTV 2.6 supports Flash 4
else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
// WebTV 2.5 supports Flash 3
else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
// older WebTV supports Flash 2
else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
// Can't detect in all other cases
else {
flashVer = -1;
return flashVer;
// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
reqVer = parseFloat(reqMajorVer + "." + reqRevision);
// loop backwards through the versions until we find the newest version
for (i=25;i>0;i--) {
if (isIE && isWin && !isOpera) {
versionStr = VBGetSwfVer(i);
} else {
versionStr = JSGetSwfVer(i);
if (versionStr == -1 ) {
return false;
} else if (versionStr != 0) {
if(isIE && isWin && !isOpera) {
tempArray = versionStr.split(" ");
tempString = tempArray[1];
versionArray = tempString .split(",");
} else {
versionArray = versionStr.split(".");
versionMajor = versionArray[0];
versionMinor = versionArray[1];
versionRevision = versionArray[2];
versionString = versionMajor + "." + versionRevision; // 7.0r24 == 7.24
versionNum = parseFloat(versionString);
// is the major.revision >= requested major.revision AND the minor version >= requested minor
if ( (versionMajor > reqMajorVer) && (versionNum >= reqVer) ) {
return true;
} else {
return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false );
// -->
</script>
</head>
<body><div align="center" style="width:100%; height:100%">
<script language="JavaScript" type="text/javascript">
<!--
// Version check for the Flash Player that has the ability to start Player Product Install (6.0r65)
var hasProductInstall = DetectFlashVer(6, 0, 65);
// Version check based upon the values entered above in "Globals"
var hasReqestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
// Location visited after installation is complete if installation is required
var MMredirectURL = window.location;
// Stored value of document title used by the installation process to close the window that started the installation process
// This is necessary to remove browser windows that will still be utilizing the older version of the player after installation is complete
// DO NOT MODIFY THE FOLLOWING TWO LINES
//document.title = document.title.slice(0, 47) + " - Flash Player Installation";
document.title = document.title.slice(0, 47);
var MMdoctitle = document.title;
// Check to see if a player with Flash Product Install is available and the version does not meet the requirements for playback
if ( hasProductInstall && !hasReqestedVersion ) {
var productInstallOETags = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'
+ 'width="550" height="200"'
+ 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">'
+ '<param name="movie" value="resources/playerProductInstall.swf?MMredirectURL='+MMredirectURL+'&MMplayerType=Ac tiveX&MMdoctitle='+MMdoctitle+'" />'
+ '<param name="quality" value="best" /><param name="bgcolor" value="#3A6EA5" />'
+ '<embed src="resources/playerProductInstall.swf?MMredirectURL='+MMredirectURL+'&MMplayerType=Plug In" quality="high" bgcolor="#3A6EA5" '
+ 'width="550" height="300" name="detectiontest" align="middle"'
+ 'play="true"'
+ 'loop="false"'
+ 'quality="best"'
+ 'wmode="opaque"'
+ 'allowScriptAccess="sameDomain"'
+ 'type="application/x-shockwave-flash"'
+ 'pluginspage="http://www.adobe.com/go/getflashplayer">'
+ '<\/embed>'
+ '<\/object>';
document.write(productInstallOETags); // embed the Flash Product Installation SWF
} else if (hasReqestedVersion) { // if we've detected an acceptable version
AC_FL_RunContent(
'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0',
'flashvars','baseRefUrl=resources/&groupxml=group.xml&stylexml=style.xml&localText=localT ext.xml&livePreview=false&startImg='+startImg,
'width', '100%',
'height', '100%',
'src', 'resources/gallery',
'quality', 'high',
'pluginspage', 'http://www.adobe.com/go/getflashplayer',
'align', 'middle',
'play', 'true',
'loop', 'true',
'scale', 'showall',
'wmode', 'opaque',
'devicefont', 'false',
'id', 'gallery',
'bgcolor', '#f7f7f7',
'name', 'gallery',
'menu', 'true',
'allowScriptAccess','sameDomain',
'movie', 'resources/gallery',
'salign', ''
} else { // flash is too old or we can't detect the plugin
var alternateContent = 'This photo gallery requires the Adobe Flash Player.'
+ '<a href=http://www.adobe.com/go/getflash/>Get the free Flash Player here</a>';
document.write(alternateContent); // insert non-flash content
// -->
</script>
<noscript>
// Provide alternate content for browsers that do not support scripting
// or for those that have scripting disabled.
Sorry, this photo gallery requires that scripting be enabled on your web browser and that the Adobe Flash Player be installed.
<a href="http://www.adobe.com/go/getflash/">Download the Adobe Flash Player</a>
</noscript>
</div>
</body>
</html>Are you sure you have uploaded everything in the gallery folder to the correct location. It can't find the index.html page.
-
How to reload class or redifince class in spring
hi buddy.
i have a problem when load beans in spring
<bean id="load" class="com.example.Load" init-method="init"></bean>
<bean id="work" class= "com.example.Work" depends-on="load"></bean>the Load#init will use ASM to write the byteCode to the Work.class
However, when spring starts, the Work.class loaded in the spring container is not the new one.
so what should do??
i don't know how to change the bean 's class in spring..Hi shiva
Thanks for your help,
Can you check this coding and revert me back ASAP Please.
REPORT BDS_GOS_CONNECTION.
DATA : logical_system LIKE BAPIBDS01-log_system.
CLASSNAME LIKE BAPIBDS01-CLASSNAME
OBJKEY LIKE SWOTOBJID-objkey.
PARAMETERS: pa_lo_sys BAPIBDS01-log_system,
pa_class like BPIBDS01-CLASSNAME,
pa_objkey like swotobjidobjkey.
AT SELECTION-SCREEN.
CALL FUNCTION 'BDS_GOS_CONNECTIONS_GET'
EXPORTING
bor_id = bor_id
IMPORTING
logical_sytem = pa_lo_sys.
classname = pa_class.
objkey = pa_objkey.
EXCEPTIONS
no_objects_found = 1
internal_error = 2
internal_gos_error = 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.
clear v_attno1.
i_object1-typeid = 'BUS2012'.
i_object1-catid = 'BO'.
i_object1-instid = i_yItem-docno.
call method cl_gos_attachment_query=>count_for_object
exporting
is_object = i_object1
ip_arl = space
receiving
rt_stat = i_stat1.
read table i_stat1 into wa_stat1 index 1.
if sy-subrc eq c_0.
move wa_stat1-counter to v_attno1.
endif.
CALL METHOD cl_gos_attachment_query=>count_for_object
EXPORTING
is_object = object
ip_arl = space
RECEIVING
rt_stat = lt_stat.
READ TABLE lt_stat INDEX 1 into ls_stat.
count = ls_stat-counter.
*The object has to be a concatenation of your document, like this:
CONCATENATE object-instid tab-gjahr INTO object-instid.
ELSE.
CONCATENATE tab-bukrs tab-belnr tab-gjahr INTO
object-instid.
ENDIF. -
Spry Menu Bar issue, NEED HELP...???
Here is the coding for a menu bar that i created with CS3, for some reason i am having an issue when i open the web page in IE, on firefox and safari it looks fine, the menu drops down to sub menu's fine, but for some reason when i open it in IE, the submenu's show on the very top of the page rather than right below the menu itself, please check my coding and see if there is an issue???
i ran compatability and there are no issues shown.
@charset "UTF-8";
/* SpryMenuBarHorizontal.css - Revision: Spry Preview Release 1.4 */
/* Copyright (c) 2006. Adobe Systems Incorporated. All rights reserved. */
LAYOUT INFORMATION: describes box model, positioning, z-order
/* The outermost container of the Menu Bar, an auto width box with no margin or padding */
ul.MenuBarHorizontal
margin: 0;
padding: 0;
list-style-type: none;
font-size: 100%;
cursor: default;
width: auto;
/* Set the active Menu Bar with this class, currently setting z-index to accomodate IE rendering bug: http://therealcrisp.xs4all.nl/meuk/IE-zindexbug.html */
ul.MenuBarActive
z-index: 1000;
/* Menu item containers, position children relative to this container and are a fixed width */
ul.MenuBarHorizontal li
margin: 0;
padding: 0;
list-style-type: none;
font-size: 100%;
position: relative;
text-align: left;
cursor: pointer;
width: 10.4em;
float: left;
background-image: url(tab2.png);
/* Submenus should appear below their parent (top: 0) with a higher z-index, but they are initially off the left side of the screen (-1000em) */
ul.MenuBarHorizontal ul
margin: 0;
padding: 0;
list-style-type: none;
font-size: 100%;
z-index: 1020;
cursor: default;
width: 8.2em;
position: absolute;
left: -1000em;
text-decoration: underline;
/* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to auto so it comes onto the screen below its parent menu item */
ul.MenuBarHorizontal ul.MenuBarSubmenuVisible
left: auto;
background-image: url(../tab1.png);
/* Menu item containers are same fixed width as parent */
ul.MenuBarHorizontal ul li
width: 8.2em;
/* Submenus should appear slightly overlapping to the right (95%) and up (-5%) */
ul.MenuBarHorizontal ul ul
position: absolute;
margin: -5% 0 0 95%;
/* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to 0 so it comes onto the screen */
ul.MenuBarHorizontal ul.MenuBarSubmenuVisible ul.MenuBarSubmenuVisible
left: auto;
top: 0;
DESIGN INFORMATION: describes color scheme, borders, fonts
/* Submenu containers have borders on all sides */
ul.MenuBarHorizontal ul
/* Menu items are a light gray block with padding and no text decoration */
ul.MenuBarHorizontal a
display: block;
cursor: default;
padding: 0.5em 0.75em;
color: #FFFFFF;
text-decoration: none;
border-left-color: #0063bd;
border-right-color: #0063bd;
border-right-width: 3px;
border-left-width: thin;
font-family: Calibri;
font-weight: bold;
font-size: 19px;
/* Menu items that have mouse over or focus have a blue background and white text */
ul.MenuBarHorizontal a:hover, ul.MenuBarHorizontal a:focus
color: #000000;
/* Menu items that are open with submenus are set to MenuBarItemHover with a blue background and white text */
ul.MenuBarHorizontal a.MenuBarItemHover, ul.MenuBarHorizontal a.MenuBarItemSubmenuHover, ul.MenuBarHorizontal a.MenuBarSubmenuVisible
color: #000000;
SUBMENU INDICATION: styles if there is a submenu under a given menu item
/* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */
ul.MenuBarHorizontal a.MenuBarItemSubmenu
background-image: url(SpryMenuBarDown.gif);
background-repeat: no-repeat;
background-position: 95% 50%;
/* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */
ul.MenuBarHorizontal ul a.MenuBarItemSubmenu
background-image: url(SpryMenuBarRight.gif);
background-repeat: no-repeat;
background-position: 95% 50%;
/* Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a "hover" background image positioned on the far left (95%) and centered vertically (50%) */
ul.MenuBarHorizontal a.MenuBarItemSubmenuHover
background-image: url(SpryMenuBarDownHover.gif);
background-repeat: no-repeat;
background-position: 95% 50%;
/* Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a "hover" background image positioned on the far left (95%) and centered vertically (50%) */
ul.MenuBarHorizontal ul a.MenuBarItemSubmenuHover
background-image: url(SpryMenuBarRightHover.gif);
background-repeat: no-repeat;
background-position: 95% 50%;
BROWSER HACKS: the hacks below should not be changed unless you are an expert
/* HACK FOR IE: to make sure the sub menus show above form controls, we underlay each submenu with an iframe */
ul.MenuBarHorizontal iframe
position: absolute;
z-index: 1010;
/* HACK FOR IE: to stabilize appearance of menu items; the slash in float is to keep IE 5.0 from parsing */
@media screen, projection
ul.MenuBarHorizontal li.MenuBarItemIE
display: inline-block;
f\loat: left;
position: relative;Hey gramps, thanks for the info, i have updated my spry framework to 1.6.1 but the problem is still the same, i recreated my menu with the new 1.6 and it still doing the same thing, the submenu's are like vertically reversed... ugh need help.
here the new code
@charset "UTF-8";
/* SpryMenuBarHorizontal.css - version 0.6 - Spry Pre-Release 1.6.1 */
/* Copyright (c) 2006. Adobe Systems Incorporated. All rights reserved. */
LAYOUT INFORMATION: describes box model, positioning, z-order
/* The outermost container of the Menu Bar, an auto width box with no margin or padding */
ul.MenuBarHorizontal
margin: 0;
padding: 0;
list-style-type: none;
font-size: 100%;
cursor: default;
width: auto;
/* Set the active Menu Bar with this class, currently setting z-index to accomodate IE rendering bug: http://therealcrisp.xs4all.nl/meuk/IE-zindexbug.html */
ul.MenuBarActive
z-index: 1000;
/* Menu item containers, position children relative to this container and are a fixed width */
ul.MenuBarHorizontal li
margin: 0;
padding: 0;
list-style-type: none;
font-size: 100%;
position: relative;
text-align: left;
cursor: pointer;
width: 10.4em;
float: left;
/* Submenus should appear below their parent (top: 0) with a higher z-index, but they are initially off the left side of the screen (-1000em) */
ul.MenuBarHorizontal ul
margin: 0;
padding: 0;
list-style-type: none;
font-size: 100%;
z-index: 1020;
cursor: default;
width: 8.2em;
position: absolute;
left: -1000em;
/* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to auto so it comes onto the screen below its parent menu item */
ul.MenuBarHorizontal ul.MenuBarSubmenuVisible
left: auto;
background-image: url(../tab1.png);
line-height: 18px;
/* Menu item containers are same fixed width as parent */
ul.MenuBarHorizontal ul li
width: 8.2em;
/* Submenus should appear slightly overlapping to the right (95%) and up (-5%) */
ul.MenuBarHorizontal ul ul
position: absolute;
margin: -5% 0 0 95%;
/* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to 0 so it comes onto the screen */
ul.MenuBarHorizontal ul.MenuBarSubmenuVisible ul.MenuBarSubmenuVisible
left: auto;
top: 0;
DESIGN INFORMATION: describes color scheme, borders, fonts
/* Submenu containers have borders on all sides */
ul.MenuBarHorizontal ul
border: 1px solid #CCC;
/* Menu items are a light gray block with padding and no text decoration */
ul.MenuBarHorizontal a
display: block;
cursor: pointer;
padding: 0.5em 0.75em;
color: #FFFFFF;
text-decoration: none;
font-size: 19px;
font-family: Calibri;
font-weight: bolder;
/* Menu items that have mouse over or focus have a blue background and white text */
ul.MenuBarHorizontal a:hover, ul.MenuBarHorizontal a:focus
color: #000000;
/* Menu items that are open with submenus are set to MenuBarItemHover with a blue background and white text */
ul.MenuBarHorizontal a.MenuBarItemHover, ul.MenuBarHorizontal a.MenuBarItemSubmenuHover, ul.MenuBarHorizontal a.MenuBarSubmenuVisible
color: #000000;
SUBMENU INDICATION: styles if there is a submenu under a given menu item
/* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */
ul.MenuBarHorizontal a.MenuBarItemSubmenu
background-repeat: no-repeat;
background-position: 95% 50%;
/* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */
ul.MenuBarHorizontal ul a.MenuBarItemSubmenu
background-repeat: no-repeat;
background-position: 95% 50%;
/* Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a "hover" background image positioned on the far left (95%) and centered vertically (50%) */
ul.MenuBarHorizontal a.MenuBarItemSubmenuHover
background-repeat: no-repeat;
background-position: 95% 50%;
/* Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a "hover" background image positioned on the far left (95%) and centered vertically (50%) */
ul.MenuBarHorizontal ul a.MenuBarItemSubmenuHover
background-repeat: no-repeat;
background-position: 95% 50%;
BROWSER HACKS: the hacks below should not be changed unless you are an expert
/* HACK FOR IE: to make sure the sub menus show above form controls, we underlay each submenu with an iframe */
ul.MenuBarHorizontal iframe
position: absolute;
z-index: 1010;
/* HACK FOR IE: to stabilize appearance of menu items; the slash in float is to keep IE 5.0 from parsing */
@media screen, projection
ul.MenuBarHorizontal li.MenuBarItemIE
display: inline;
f\loat: left; -
BP Analytics - Customer defined monitor - No data
Hi,
While my custom monitor is running fine with BPMon alerting, i am not able to get results in BP Analytics (though I configured and activated it with "group by options" at logical component level).
In the /SSA/EXM - ECU customizing, I checked boxes for standard BW, BP Analytics Bench/Trend & declared some semantic Ids/BI gen. for the BP Analytics "group by" options at key figure & 1 semantic ID for monitor level.
See the custo. attached.
My custom monitor is first getting the list of Sales Open Orders then calculating the average amount of those open orders (€).
I didn't use the map field options as I consider this monitor as BackLog type, even if I calculate an average amount in the end.
Did I miss something ?
How can I check if some data is retrieved at managed system level for BP Analytics ?
Note: Standard key figures are running fine with BP Analytics.
Thanks in advance for your help !
Solman 7.1 SP8Hi Remi
To resolve the issue, you need to detect where you have problem.
Possible problem parts can be 1 of the following.
1.Data collection in managed system with your coding not working properly
=>You can check your coding behavior with simulation program described in SAP Note 1521095.
Please check whether your coding working properly by using program ZBPMON_START_DC.
if data collection properly worked, you should be able to see collected data in managed system.
(As described in BPMon trouble shooting guide, with program /ssf/ptabbrowser, you can see
collected data. SE38 /ssf/ptabbrowser -> (Relid TC, Projectid ECU)
There should be some entry starting with DI_Solution GUID _MONITOR_MONID).
if there is a entry to your monid, this proof, data collection phase is ok.
2.Data transfer from managed system to SolMan analytics not working
Check the entry in your analytics cube(0SM_BPMRH) with your monid via t-cs listcube.
if there is data, data is properly transfered from managed system to SolMan cube.
if data is missing, transfer has some issue.
Better to check, your monitor configuration in managed system.
Especially selection parameter and detail list customize via /SSA/EXM.
(param id, semantic ids are properly assigned between selection parameter and detail list).
In more detail, please check customer exit guide.
If you have no clue, better to open Open SAP incident ticket (formerly called OSS message).
3.Data is in SolMan Analytics cube but data retrival to Analytics is not working.
Recommend to check MDX connection in SM59 ->TCP/IP.
Analytics collect cube data with MDX RFC connection. So MDX connection has to work.
If MDX works and your data is in Analytics Cube, you have 2 possibilities.
3.1 missing authorization. please chceck your authorization especially related to
role SAP_SM_BPOANA_ALL
3.2 Analytics runtime XML definition is not avaialble.
If your solman is less than Sp8 and not having analytics required notes described in
note 1759233, you may have to create XML definition manually via
connector deirectory (go to connector directory from BPO workcenter lef side bar)
and conduct update AKF.
If all notes described in note 1759233, AKF update automatically carried out
when you activate your monitor. So no need to do this manually.
Best Regards
Keiji -
Listing up business transactions from Account's View
Hie, When we Open Ship to party from IC Web, We have Assignment block "Quotations" at IC WEB from Accounts view. But it does not pull any quotations.
But it does pull for sold to party. I have checked SPRO settings for Customer Relationship Management->Master Data->Business Partner->Specify Display Options for Business Transactions and I maintained Area = QU.
But i still cant see Qutation list from Account's VIEW.
Can anyone advice me please? where i can make settings for Sold to part , ship to party etc??
thanks and regards,
Dinesh.Hi,
this is something which you can´t change by configuration.
You have to do a small UI-development.
Open your component / view in tx bsp_wd_cmpwb.
I guess in your case the component is BP_BPBT and the view is AccountQuotationsOV.
You have to go to the context node.
Here please check the coding in ON_NEW_FOCUS and redefine it according to your needs.
Kind regards
Manfred -
Taking Long Time To cancel any document on vl09
Hi,
In vl09 PGI/Delivery cancellation(when i cancel any document),Taking very long time.can i have to check any coding on program.guide me for the same.
ThankuYou can do an SQL trace via ST05 and analize to see what statements are taking that long... you can give this to your ABAPer to amend any faults on the coding or indexes.
regards
Juan
Maybe you are looking for
-
I'm facing a problem with webutil_file_transfer.client_to_as_with_progress when I'm transferring many files from the client to the server. Suddenly webutil stops the transferring and webutil doesn't work until I've restarted the form. I've noticed th
-
UCCE 7.5.6 Supported Browsers for Webview and Agent reskilling
Hi, Can anyone out there please give me a link to the supported browsers (IE, FireFox etc) and their versions for UCCE 7.5(6) - We currently run with WIndows XP clients on IE7, however, would like to migrate to WIndows7 with IE8 / IE9 Thanks in anti
-
I lost my ac power cord. Where can I purchase a new cord?
I lost the ac power cord to my Apple ipod hi-fi. Can anyone point me in the right direction? Thanks, Jim
-
Need Help Syncing Using iTunes
How can I control what gets synced using ITunes? Usually I only want to sync my Outlook Contacts and Calendar between my computer and iPhone, and occassionally some music, but my apps get synced as well.
-
Restoring one system-wide dictionary (issue with spell checking)
Hello all, For some reason, spell checking is behaving badly: it won't spell check German correctly anymore, even though it is set on "Multilingual". English is alright, so I suspect my German dictionary got corrupt. My questions are: 1- Will install