× Discuss on Template programming, jBASE programming, Enquiries, No-File enquiry, Enquiry routines, Version, Version routines, Menus, Abbriviations, Creating local reference fields, Fast path enquiries, Creating charts and graphs, Generating Reports, Deal slips, Straight through processing, Multi Company and Multi Book setup, Tabbed screens, Composite Screens, T24 API, etc...

Presentation of multivalue row by row

  • elix545
  • Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
5 years 6 months ago #21902 by elix545
Presentation of multivalue row by row was created by elix545
Hi,

I have a conversion routine that return two Multivalues, for example:
SUBROUTINE TEST.MV.RETURN
    $INSERT T24.BP I_COMMON
    $INSERT T24.BP I_EQUATE
    $INSERT T24.BP I_ENQUIRY.COMMON
	Y.RETURN = ""
	Y.RETURN = "VALUES1" : @VM : "VALUE2"
    O.DATA = Y.RETURN
    RETURN
END

ENQUIRY>TEST.ENQ.RETURM.MV
Page Size 4,99
File Name ACCOUNT
Selection Flds.1 CUSTOMER
Field Name.1 VARTEST1
Operation.1.1 CUSTOMER
Column.1 1
Length Mask.1 10R
Single Multi.1 S
Field Name.2 VARTEST2
Operation.2.1 CUSTOMER
Column.2 12
Length Mask.2 30R
Conversion.2.1 @ TEST.MV.RETURN
Single Multi.2 S

I want to see something like:
1 VALUES1
VALUES2

Instead of:
1 VALUES1 VALUES2

Thank you in advance for your help.

Please Log in or Create an account to join the conversation.

More
5 years 6 months ago #21903 by faisal
Replied by faisal on topic Presentation of multivalue row by row
Hi,

Please set VM.COUNT variable in your conversion routine to total number of multivalues and in the enquiry set Single.Multi field to M.

Regards,
Faisal

Please Log in or Create an account to join the conversation.

  • elix545
  • Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
5 years 6 months ago - 5 years 6 months ago #21904 by elix545
Replied by elix545 on topic Presentation of multivalue row by row
HI,

After using VM.COUNT the enquiry is replicating the data instead of split the MV:
-----------------------------------------
     100335                 VALUES1 VALUE2
                            VALUES1 VALUE2
SUBROUTINE TEST.MV.RETURN
    $INSERT ../T24_BP I_COMMON
    $INSERT ../T24_BP I_EQUATE
    $INSERT ../T24_BP I_ENQUIRY.COMMON
    *DEBUG
    Y.RETURN = ""
    Y.RETURN = "VALUES1" : @VM : "VALUE2"
    O.DATA = Y.RETURN
    VM.COUNT=DCOUNT(Y.RETURN,@VM)
    RETURN
END

ENQUIRY........... TEST.ENQ.RETURM.MV
1 PAGE.SIZE ........ 4,99
2 FILE.NAME......... ACCOUNT
6. 1 SELECTION.FLDS. CUSTOMER
14. 1 FIELD.NAME..... VARTEST1
15. 1. 1 OPERATION... CUSTOMER
16. 1 COLUMN......... 1
17. 1 LENGTH.MASK.... 10R
35. 1 SINGLE.MULTI... S
14. 2 FIELD.NAME..... VARTEST2
15. 2. 1 OPERATION... CUSTOMER
16. 2 COLUMN......... 12
17. 2 LENGTH.MASK.... 30R
18. 2. 1 C @ TEST.MV.RETURN
35. 2 SINGLE.MULTI... M
Last edit: 5 years 6 months ago by elix545.

Please Log in or Create an account to join the conversation.

More
5 years 6 months ago #21905 by faisal
Replied by faisal on topic Presentation of multivalue row by row
Hi,

Kindly find below the example code, you have to send data in O.DATA one by one using VC variable. In my example I am extracting multi value using Link conversion and then passing this multivalue data to conversion routine.

Command->
0001 SUBROUTINE TEST.ENQ.RTN
0002
0003 $INSERT I_COMMON
0004 $INSERT I_EQUATE
0005 $INSERT I_ENQUIRY.COMMON
0006
0007 MV.FLD = O.DATA
0008 VM.COUNT = DCOUNT(MV.FLD,@VM)
0009 O.DATA = MV.FLD<1,VC>
0010
0011
0012 RETURN
0013 END


Enquiry Record:

14. 3 FIELD.NAME..... VEN.ID
15. 3. 1 OPERATION... "10000001"
14. 4 FIELD.NAME..... Y.PO NUMBER
15. 4. 1 OPERATION... F VEN.ID
16. 4 COLUMN......... 3
18. 4. 1 CONVERSION.. L CUSTOMER,PO.NUMBER
18. 4. 2 CONVERSION.. @ TEST.ENQ.RTN
35. 4 SINGLE.MULTI... M


Regards,
Faisal
The following user(s) said Thank You: elix545

Please Log in or Create an account to join the conversation.

  • elix545
  • Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
5 years 6 months ago #21906 by elix545
Replied by elix545 on topic Presentation of multivalue row by row

VM.COUNT = DCOUNT(MV.FLD,@VM)
O.DATA = MV.FLD<1,VC>

------------------------------------------
    100335                        VALUES1
                                   VALUE2

Thank You and Regards

Please Log in or Create an account to join the conversation.

Time to create page: 0.108 seconds