.CM  SCRIPT , Version - 1.1 , last edited by holger
.ad 8
.bm 8
.fm 4
.bt $Copyright (c) 2000-2004 SAP AG$$Page %$
.tm 12
.hm 6
.hs 3
.TT 1 $SQL$Project Distributed Database System$VIN15$
.tt 2 $$$
.TT 3 $$standard_editor_functions$1998-06-17$
***********************************************************
.nf
 
.nf
 
 
    ========== licence begin  GPL
    Copyright (c) 2000-2004 SAP AG
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License
    as published by the Free Software Foundation; either version 2
    of the License, or (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
    ========== licence end
 
.fo
 
 
.fo
.nf
.sp
MODULE  : pick-put-functions
=========
.sp
Purpose : Read and write the PICK buffer.
.CM *-END-* purpose -------------------------------------
.sp
.cp 3
Define  :
 
        PROCEDURE
              i15putpickbuf (VAR pick      : tin_pick_buffer;
                    VAR line         : tin_eline;
                    line_nr          : tin_natural;
                    length           : tin_natural;
                    first_col        : tin_natural;
                    VAR error        : boolean);
 
        PROCEDURE
              i15getpickbuf (VAR pick      : tin_pick_buffer;
                    VAR line         : tin_eline;
                    line_nr          : tin_natural;
                    VAR length       : tin_natural;
                    VAR error        : boolean);
 
        PROCEDURE
              i15pickhelp(
                    VAR display : tin_display_parms );
 
        FUNCTION
              in1530 : tsp00_Int4;
 
.CM *-END-* define --------------------------------------
.sp;.cp 3
Use     :
 
        FROM
              help: VIN05;
 
        FUNCTION
              i05ifexample : boolean;
 
        PROCEDURE
              i05getexample (
                    VAR ebuf : tin_pickobject;
                    VAR evar : tin_eform_vars;
                    clear    : boolean;
                    VAR ok   : boolean );
 
      ------------------------------ 
 
        FROM
              dialog_editor_functions: VIN11;
 
        PROCEDURE
              i11message (
                    msg_id       : tin_edit_msg;
                    VAR text     : tin_screenline;
                    VAR err_flag : boolean);
 
      ------------------------------ 
 
        FROM
              standard_editor_functions : VIN14;
 
        PROCEDURE
              i14cleareform (
                    VAR evars     : tin_eform_vars);
 
        PROCEDURE
              i14geteline (VAR eform     : tin_pickobject;
                    VAR evars     : tin_eform_vars;
                    VAR line      : tin_eline;
                    line_nr       : tin_natural;
                    VAR length    : tin_natural;
                    VAR error     : boolean);
 
        PROCEDURE
              i14puteline (VAR eform    : tin_pickobject;
                    VAR evars     : tin_eform_vars;
                    VAR line      : tin_eline;
                    line_nr       : tin_natural;
                    length        : tin_natural;
                    VAR error     : boolean);
 
      ------------------------------ 
 
        FROM
              Kernel_move_and_fill : VGG101;
 
        PROCEDURE
              SAPDB_PascalForcedFill (
                    size        : tsp00_Int4;
                    m           : tsp00_MoveObjPtr;
                    pos         : tsp00_Int4;
                    len         : tsp00_Int4;
                    fillchar    : char);
 
        PROCEDURE
              SAPDB_PascalForcedMove (
                    source_upb  : tsp00_Int4;
                    destin_upb  : tsp00_Int4;
                    source      : tsp00_MoveObjPtr;
                    source_pos  : tsp00_Int4;
                    destin      : tsp00_MoveObjPtr;
                    destin_pos  : tsp00_Int4;
                    length      : tsp00_Int4);
 
        PROCEDURE
              s10mv (
                    source_upb  : tsp00_Int4;       
                    destin_upb  : tsp00_Int4;
                    source      : tsp00_MoveObjPtr;    
                    source_pos  : tsp00_Int4;
                    destin      : tsp00_MoveObjPtr;    
                    destin_pos  : tsp00_Int4;
                    length      : tsp00_Int4);
 
.CM *-END-* use -----------------------------------------
.sp;.cp 3
Synonym :
 
        PROCEDURE
              i05getexample;
 
              tin_eform_buffer tin_pickobject
 
        PROCEDURE
              i14geteline;
 
              tin_eform_buffer tin_pickobject
 
        PROCEDURE
              i14puteline;
 
              tin_eform_buffer tin_pickobject
 
        PROCEDURE
              m90buf;
 
              tsp00_Buf tin_pickobject
 
        PROCEDURE
              m90buf1;
 
              tsp00_Buf tin_eline
 
        PROCEDURE
              m90int;
 
              integer tin_natural
 
.CM *-END-* synonym -------------------------------------
.sp;.cp 3
Author  :
.sp
.cp 3
Created : 1988-03-23
.sp
.cp 3
.sp
.cp 3
Release :      Date : 1998-06-17
.sp
***********************************************************
.sp
.cp 10
.fo
.oc _/1
Specification:
 
.CM *-END-* specification -------------------------------
.sp 2
***********************************************************
.sp
.cp 10
.fo
.oc _/1
Description:
 
.sp 2;.nf
.CM *-END-* description ---------------------------------
.sp 2
***********************************************************
.sp
.cp 10
.nf
.oc _/1
Structure:
 
.CM *-END-* structure -----------------------------------
.sp 2
**********************************************************
.sp
.cp 10
.nf
.oc _/1
.CM -lll-
Code    :
 
 
(*------------------------------*) 
 
FUNCTION
      in1530 : tsp00_Int4;
 
BEGIN
(* linkcheck function *)
in1530 := 219020121;
END;
 
(*------------------------------*) 
 
PROCEDURE
      i15putpickbuf (VAR pick      : tin_pick_buffer;
            VAR line         : tin_eline;
            line_nr          : tin_natural;
            length           : tin_natural;
            first_col        : tin_natural;
            VAR error        : boolean);
 
VAR
      helpline  : tin_eline;
      helplen   : tin_natural;
 
BEGIN
WITH pick DO
    BEGIN
    IF  blockwidth = 0
    THEN
        BEGIN
        i14puteline(content,pick_vars,line,line_nr,length,error);
        END
    ELSE
        BEGIN
        (* h.b. 01.12.1994 core behoben
              SAPDB_PascalForcedFill(mxin_eline,line,length + 1,max_cols - length,' ');
              s10mv(mxin_eline,mxin_eline,
              @line,first_col,
              @line,1,length);
              i14puteline(content,pick_vars,line,line_nr,length,error);
              s10mv(mxin_eline,mxin_eline,
              @line,first_col,
              @line,1,blockwidth);
              *)
        helplen := blockwidth;
        IF  length < blockwidth
        THEN
            helplen := length;
        (*ENDIF*) 
        SAPDB_PascalForcedFill(mxin_eline,@helpline,1,blockwidth,bsp_c1);
        s10mv(mxin_eline,mxin_eline,
              @line,first_col,
              @helpline,1,helplen);
        i14puteline(content,pick_vars,helpline,line_nr,blockwidth,error);
        END;
    (*ENDIF*) 
    END;
(*ENDWITH*) 
END;
 
(*------------------------------*) 
 
PROCEDURE
      i15getpickbuf (VAR pick      : tin_pick_buffer;
            VAR line         : tin_eline;
            line_nr          : tin_natural;
            VAR length       : tin_natural;
            VAR error        : boolean);
 
BEGIN
WITH pick DO
    i14geteline(content,pick_vars,line,line_nr,length,error);
(*ENDWITH*) 
END;
 
(*------------------------------*) 
 
PROCEDURE
      i15pickhelp(
            VAR display : tin_display_parms );
 
CONST
      clear     = true;
      line_mode = 0;
 
VAR
      i            : tin_natural;
      len          : tin_natural;
      line         : tin_eline;
      error        : boolean;
      ok           : boolean;
      help_eform   : tin_pickobject;
      help_evars   : tin_eform_vars;
 
BEGIN
WITH display DO
    BEGIN
    IF  i05ifexample
    THEN
        BEGIN
        error := false;
        i14cleareform (help_evars);
        i14cleareform (pick.pick_vars);
        pick.blockwidth := 0;
        i05getexample (help_eform, help_evars, clear, ok);
        IF  ok
        THEN
            BEGIN
            FOR i := 1 TO help_evars.lines DO
                IF  NOT error
                THEN
                    BEGIN
                    i14geteline(help_eform, help_evars,line,i,len,error);
                    i15putpickbuf(pick,line,i,len, line_mode, error);
                    END;
                (*ENDIF*) 
            (*ENDFOR*) 
            IF  pick.pick_vars.lines > 0
            THEN
                i11message(pick_done,frame [active_screen] .sys_msg,
                      frame [active_screen] .is_error );
            (*ENDIF*) 
            END;
        (*ENDIF*) 
        END;
    (*ENDIF*) 
    END;
(*ENDWITH*) 
END;
 
.CM *-END-* code ----------------------------------------
.SP 2 
***********************************************************
.PA 
